struts2+jquery+json

Struts2与JQuery结合JSON实现Ajax异步加载 本文还有配套的精品资源,点击获取 简介:Struts2JQueryJson是一种将Struts2框架与jQuery库结合使用,通过JSON格式进行Ajax异步加载的技术方案。它提升Web应用的用户体验,通过无刷新页面更新来增强交互性和响应速度。本方案中,Struts2框架处理业务逻辑,jQuery库负责发起Ajax请求并更新页面元素,而JSON作为一种轻量级的数据交换格式,... 阅读详情

 

 Struts2+JQuery+JSON集成


细节部分我就不多讲了,因为我也不会,就讲讲我是如何调试出来我的第一个JSON使用的吧

采用的框架有:Struts2 、 JQuery 、 JSON


按着步骤来吧:


 1.新建一个Web工程


导入包列表:

 


 目录结构如图:

 


 2.建立实体类User

view plaincopy to clipboardprint?
package com.school.pojo;  
 
public class User {  
private String user;  
private int age;  
public String getUser() {  
    return user;  
}  
public void setUser(String user) {  
    this.user = user;  
}  
public int getAge() {  
    return age;  
}  
public void setAge(int age) {  
    this.age = age;  
}  
} 
package com.school.pojo;

public class User {
private String user;
private int age;
public String getUser() {
 return user;
}
public void setUser(String user) {
 this.user = user;
}
public int getAge() {
 return age;
}
public void setAge(int age) {
 this.age = age;
}
}
 


 3.建立Action JsonAction

view plaincopy to clipboardprint?
public class JsonAction extends ActionSupport{  
private User user;  
//用于记录返回结果  
private String result;  
//省略相应的get和set方法   
@SuppressWarnings("static-access")  
public String execute() throws Exception {  
//将要返回的user实体对象进行json处理  
JSONObject jo = JSONObject.fromObject(this.user);  
System.out.println(jo);  
//调用json对象的toString方法转换为字符串然后赋值给result  
this.result = jo.toString();  
return this.SUCCESS;  
}  
} 
public class JsonAction extends ActionSupport{
private User user;
//用于记录返回结果
private String result;
//省略相应的get和set方法
@SuppressWarnings("static-access")
public String execute() throws Exception {
//将要返回的user实体对象进行json处理
JSONObject jo = JSONObject.fromObject(this.user);
System.out.println(jo);
//调用json对象的toString方法转换为字符串然后赋值给result
this.result = jo.toString();
return this.SUCCESS;
}
}

 


 4.建立struts.xml文件

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC  
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
<constant name="struts.i18n.encoding" value="UTF-8"></constant> 
<package name="ttttt" extends="json-default"> 
<action name="jsonAction" class="action.JsonAction"> 
<result type="json" > 
<!-- 因为要将reslut的值返回给客户端,所以这样设置 --> 
<!-- root的值对应要返回的值的属性 --> 
<param name="root"> 
result  
</param> 
</result> 
</action> 
</package> 
</struts> 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<package name="ttttt" extends="json-default">
<action name="jsonAction" class="action.JsonAction">
<result type="json" >
<!-- 因为要将reslut的值返回给客户端,所以这样设置 -->
<!-- root的值对应要返回的值的属性 -->
<param name="root">
result
</param>
</result>
</action>
</package>
</struts>

 


 5.编写index.jsp文件

view plaincopy to clipboardprint?
<%@ page language="java" pageEncoding="UTF-8"%>  
 
<%@ taglib prefix="s" uri="/struts-tags"%>  
 
<%  
 
String path = request.getContextPath();  
 
String basePath = request.getScheme() + "://" 
 
+ request.getServerName() + ":" + request.getServerPort()  
 
+ path + "/";  
 
%>  
 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
 
<html>  
 
<head>  
 
<base href="<%=basePath%>">  
 
 
<title>My JSP 'index.jsp' starting page</title>  
 
<meta http-equiv="pragma" content="no-cache">  
 
<meta http-equiv="cache-control" content="no-cache">  
 
<meta http-equiv="expires" content="0">  
 
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
 
<meta http-equiv="description" content="This is my page">  
 
 
<!-- basePath用来获取js文件的绝对路径 -->  
 
<mce:script type="text/javascript" src="<%=basePath%><!--  
js/jquery.js">  
// --></mce:script>  
 
<mce:script type="text/javascript" src="<%=basePath%><!--  
js/index.js">  
// --></mce:script>  
 
<s:head theme="ajax" />  
 
</head>  
 
 
<body>  
 
<div id="result">  
 
</div>  
 
<s:form name="userForm" action="" method="post">  
 
<s:textfield label="用户名" name="user.name" />  
 
<s:textfield label="年龄" name="user.age" />  
 
<button>  
 
提交  
 
</button>  
 
</s:form>  
 
 
</body>  
 
</html> 
<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">


<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">


<!-- basePath用来获取js文件的绝对路径 -->

<mce:script type="text/javascript" src="<%=basePath%><!--
js/jquery.js">
// --></mce:script>

<mce:script type="text/javascript" src="<%=basePath%><!--
js/index.js">
// --></mce:script>

<s:head theme="ajax" />

</head>


<body>

<div id="result">

</div>

<s:form name="userForm" action="" method="post">

<s:textfield label="用户名" name="user.name" />

<s:textfield label="年龄" name="user.age" />

<button>

提交

</button>

</s:form>


</body>

</html>

 


 6.在WebRoot目录下建立js文件件,将jquery.js文件放到文件夹下,然后再建立文件index.js


view plaincopy to clipboardprint?
$(document).ready(function() {  
 
 
// 直接把onclick事件写在了JS中  
 
$("button").click(function() {  
 
// 序列化表单的值  
 
var params = $("input").serialize();  
 
 
$.ajax({  
 
 
// 后台处理程序  
 
url : "jsonAction.action",  
 
 
// 数据发送方式  
 
type : "post",  
 
 
// 接受数据格式  
 
dataType : "json",  
 
 
// 要传递的数据  
 
data : params,  
 
 
// 回传函数  
 
success : update_page  
 
 
});  
 
});  
 
 
});  
 
function update_page(result) {   
 
var json = eval( "("+result+")" );  
 
var str = "姓名:" + json.name + "<br />"; str += "年龄:"   
 
+ json.age + "<br />";  
 
$("#result").html(str);  
 
 
} 
$(document).ready(function() {


// 直接把onclick事件写在了JS中

$("button").click(function() {

// 序列化表单的值

var params = $("input").serialize();


$.ajax({


// 后台处理程序

url : "jsonAction.action",


// 数据发送方式

type : "post",


// 接受数据格式

dataType : "json",


// 要传递的数据

data : params,


// 回传函数

success : update_page


});

});


});

function update_page(result) {

var json = eval( "("+result+")" );

var str = "姓名:" + json.name + "<br />"; str += "年龄:"

+ json.age + "<br />";

$("#result").html(str);


}

 


 7.运行前效果:

要的是效果,布局就不整了

 


运行后效果:

 


网上相关的信息太少了,很多Struts2+JQuery+JSON的教程,点开链接之后都是那几篇文章转了又转,遇到问题真的很想找到有用的信息,或许是我太笨了,找不到,或许就是网上相关的信息就很少。这个实例很简单是不是,但是为了调试出这个程序,我费了一天的时间。


上面的实例成功了,但是问题又出来了

视图类型仅仅设置了json

那么输入校验出错的时候怎么显示?

部分内容转自:http://blog.youkuaiyun.com/fengda2870/archive/2009/04/06/4052527.aspx

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/icejadelove/archive/2009/09/30/4621641.aspx

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/icejadelove/archive/2009/09/30/4621641.aspx

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/icejadelove/archive/2009/09/30/4621641.aspx

UniDexGrasp++算法实战:无需预生成姿态的灵巧抓取测试指南 本文详细解析了UniDexGrasp++算法在灵巧抓取测试中的实战应用,该算法无需预生成姿态即可实现高效抓取,特别适合处理形状不规则的物体。文章涵盖了环境配置、数据集优化、训练流程及实际测试中的调参技巧,帮助开发者快速掌握这一ICCV 2023提出的先进算法。 阅读详情

相关推荐

树莓派4B之OpenCV人脸识别实战:从Haar Cascade到实时检测(保姆级教程)

本教程详细介绍了如何在树莓派4B上部署OpenCV,并利用Haar Cascade算法实现实时人脸识别。内容涵盖从系统环境搭建、算法原理解析到代码逐行讲解与实战调优,为嵌入式AI和计算机视觉初学者提供了一份完整的保姆级实践指南。

p8q9r0的博客 402

struts2 jquery ajax json,JQuery,AJAX,Struts2传送JSON数据

JQuery,AJAX,Struts2传送JSON数据。示例说明:整合Struts2的项目中,使用JQuery或AJAX传送JSON数据,实现页面无刷新更新数据。环境:Struts-2.3.4 JQuery-1.8.0其他说明:要传送JSON数据,另外需要几个Jar文件,拿我使用Struts2.3.4来说,要在struts2-blank的基础上额外导入的Jar文件是commons-logging...

weixin_31710835的博客 260

【项目立项管理、项目整合管理】30天通过软考高项-第二天

①项目或阶段的概述;②范围目标、范围的评估标准,证明达到完⼯标准的证据;③质量目标、项目和产品质量的评估标准、相关核实信息和实际里程碑交付日期以及偏差原因;④成本目标,包括可接受的成本区间、实际成本,产⽣任何偏差的原因等;⑤最终产品、服务或成果的确认信息的总结;⑥进度计划目标,包括成果是否实现项目预期效益:如果在项目结束时未能实现效益,则指出效益实现程度并预计未来实现情况;

weixin_42520723的博客 999

整合struts2,jquery,json。采用jquery ajax,从struts2 action返回json类型数据

本文开发环境是SSH2,ajax插件使用jQuery 1.2.6.js和json2.js实现目的:在struts2 标签s:doubleselect二级联动标签的基础上实现事件:第二级onchange时调用struts2 action,在action中查询一个名称,然后返回回来,此信息显示在页面上(这只是给用户一个提示信息,不影响表单能否提交) 由于struts2 doublese

Happy in Code 5万+

2.4G/4G天线共存方案:Air8101多频段隔离设计实战(附波长计算表)

本文深入探讨了物联网设备中Wi-Fi 2.4GHz与4G LTE天线共存设计的实战方案。针对B40与2.4G频段紧邻带来的干扰挑战,文章系统性地提出了空间隔离、PCB布局优化、结构设计三重防线,并提供了关键的波长计算工具与系统级验证Checklist,旨在帮助工程师将多频段隔离设计从“玄学”变为可执行的工程规范。

weixin_29197051的博客 388

[个人自用,全网最优]EDEM-FLUENT个人自学教程,拒绝手忙脚乱无用功!

[个人自用,全网最优]EDEM-FLUENT个人自学教程,拒绝手忙脚乱无用功!

zheaa的博客 4826

Struts2+JQuery+JSON集成

Struts2+JQuery+JSON集成细节部分我就不多讲了,因为我也不会,就讲讲我是如何调试出来我的第一个JSON使用的吧采用的框架有:Struts2 、 JQuery 、 JSON按着步骤来吧: 1.新建一个Web工程导入包列表: 目录结构如图: 2.建立实体类Userpackage model;pu

风达的专栏 2万+

基于STM32F4XX 、HAL库的GXHT30C温湿度传感器驱动应用C语言程序设计

define GXHT30C_STATUS_WRITE_CHK (1 << 0) // 写数据校验状态。#define GXHT30C_STATUS_HUMI_TRACK (1 << 11) // 湿度跟踪报警。#define GXHT30C_STATUS_TEMP_TRACK (1 << 10) // 温度跟踪报警。#define GXHT30C_STATUS_CMD_STATUS (1 << 1) // 命令执行状态。

PP_Cottage的博客 226

struts2 ajax html,Struts2+Jquery+Ajax+Json

现在使用Json来封装并且传递数据的情形是越来越多了,可怎么样在Struts2中来使用Jquery+Ajax+Json来协同工作呢?在网上查了下就那几个例子被转过来转过去的,还有很多例子根本行不通,这里经过自己摸索写了个小例子。1、jar包支持2、Struts配置文件/p>"-//Apache Software Foundation//DTD Struts Configuration 2.0...

weixin_39943992的博客 238

ISOLAR Autosar BSW 配置 之 Com

Autosar ISOLAR Bsw Configuration 之 Com

qq_42262743的博客 452

Python 爬虫教程:企业官网基本信息抓取

本文介绍了使用Python爬虫技术抓取企业官网信息的方法,包括公司名称、简介、联系方式、地址、产品及新闻等数据。通过Requests和BeautifulSoup库实现网页请求与解析,并利用Pandas存储数据为CSV文件。同时提供了应对反爬虫机制(如设置User-Agent、代理IP池、延迟请求等)的解决方案,帮助高效获取企业公开数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1859

struts2 json jquery 异步

2011-02-16 struts2 json jquery 异步 文章分类:Java编程 2010-06-03 Struts2+jQuery+JSON实现异步交互 文章分类:Java编程 Struts2+JQuery+JSON实现异步交互,包括从后台获得单个值、对象、List和Map数据并从前台的表达中获取值把值进行序列化通过JQuery的$.ajax({})传到后台和后台的对象...

hslh23的博客 179

AUTOSAR OS详细介绍及配置说明(更新版20240115)

AUTOSAR OS扩展了OSEK/VDX标准中的操作系统,所以本文结合OSEK/VDX的标准来介绍AUTOSAR OS,并借助Vector Configurator讲解AUTOSAR OS的配置。源于德语,英文意思是:“车载电子设备的开发系统和接口”,它是一个标准,用来产生嵌入式操作系统的规范,通讯协议栈,和汽车网络管理协议,也产生其他相关的规范。OSEK被设计来提供整车的各种电子控制单元的软件标准架构。

酒无忧的博客 1421

Struts2+jQuery,使用ajax传递JSON数据

Struts2+jQuery实现JSON数据传递

冰糖犬的博客 1054

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Struts2+Jquery实现ajax并返回json类型数据

摘要 主要实现步骤如下: 1、JSP页面使用脚本代码执行ajax请求 2、Action中查询出需要返回的数据,并转换为json类型模式数据 3、配置struts.xml文件 4、页面脚本接受并处理数据 struts2 ajax jquery json 网上看到很多关于Struts2+ajax+jquery+json的例子,但是很多都不完整,也看不明白,主要原因是返回jsno

fanlulu2015的博客 750

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

struts2+jquery+json 小例子

struts2+jquery+json 小例子 。

iteye_4032的博客 135

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Struts2+JQuery+Json实例

http://www.cnblogs.com/linjiqin/archive/2011/03/19/1989169.html  Struts2 json 官网   Struts2+JQuery+Json登陆实例 http://zhouhaitao.iteye.com/blog/1126548   结合使用jQuery和Json的话感觉不错,操作上来说很方便,先简单说说Json的一些优

www.hohode.com 503

struts2 + jquery + json

网上有许多关于Struts2与JSON的文章,Google加百度,查阅了许多,有各种各样的做法。其中,大部分的文章都说要加进一个叫jsonplugin的插件,在Google Code可以下载。以前我有做过测试,也是用它,但着实麻烦,要让Struts2的package继承一个叫“json-default”的父package。网上的文章,大部分都是说从Struts的Action如何把JSON数据发送回

一起玩编程 866

jQuery+json+struts2

转自:http://www.2cto.com/kf/201111/112000.html 结合使用jQuery和Json的话感觉不错,操作上来说很方便,先简单说说Json的一些优点,当然Json不仅仅这些优点 1.方便前台数据的操作。 2.数据体积小,传输快。 3.客户端操纵XML的时候需要创建ActiveX对象,Json则完全就是一个JS对象,它不需要创建DOM。 ...

thewebcode 167

json+Struts2+jQuery的登录验证

json+Struts2+jQuery的登录验证   原文来源:http://blog.163.com/sliver_fg/blog/static/116124062201032343454696/(先粘过来看看) 2010-04-23 16:34:54|  分类: SSH框架|字号 订阅 花了两天时间来研究在Struts2中集成json,然后使用jQuery来实

zygzzp的专栏 1455

Jquery+Struts2+JSON处理

Jquery+Struts2+JSON处理

lwlq8888的专栏 115

Struts2+JQuery+Json及JQuery相关插件的例子

文章来源: http://www.360doc.com/content/10/0731/19/117897_42788515.shtml# 注意事项:   1.开发时,应将工程及相应的页面数据库编码均设为:utf8解决乱码问题;   2.当前开发版本为struts2.1.8,不同的struts2版本会有不同的jar包需要引入,具体见readme.txt   3.autocomplete...

wutuobangoracle的专栏 121

struts2跟jquery,json的结合小结

struts2 跟jquery,json结合的一个小例子,小结下: 1 页面   Enter Your Name                                 2 在ACTION部分   public class AjaxActions extends ActionSupport{     private String name;     private String

jackyrongvip的专栏 768

struts2+json插件+jquery post

需要下载:jquery.jsstruts2jsonplugin-0.32.jar具体下载地址请google所有下载的jar文件放到lib下..test.htlm(注意引入jquery.js和自定义(test.js)js文件)test.html

993
上一篇: Tomcat虚拟主机配置方案(域名解析)For Windows/Linux(最完全版)
下一篇: 几个网页制作的小技巧
J2EE_dev
博客等级 码龄18年 237粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值