该实例只是测试,其实在action中,不需要一个user的全局变量(为了接收ID,懒得再去声明一个变量),
这样会破坏了Gson的原则,可以放到execute方法中。
gson包的下载地址:
http://code.google.com/p/google-gson/downloads/list
放到lib文件夹中。
struts.xml配置:
<action name="gsonaction" class="com.action.gson.GsonAction">
</action>
所属的包,没有必要继承自json-default
struts2 action 代码:
@Controller
public class GsonAction extends ActionSupport {
@Resource
private IUserDao iud;
private Users user;
public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
public String execute() {
Integer uid = user.getUserid();// 获取JSP页面中select列表的传递过来的用户ID
this.user = iud.findById(uid);// 根据用户的ID获取用户实体
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String res = gson.toJson(this.user);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("application/json;charset=utf-8");
try {
PrintWriter out = response.getWriter();
out.print(res);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
JSP 页面部分代码(使用jQuery):
function getgsoninfo() {
var val = $("#person").val();//获取选中的用户ID
$.ajax( {
type:"post",
url : "gsonaction.action",//action的地址
data : "user.userid=" + val,
success : function(data) {
alert(data.username);//弹出用户名,data为返回的user实体
}
});
}
分享到:
相关推荐
标题中的“省市联动jQuery+Struts2”是指在Web开发中使用jQuery库和Struts2框架实现的一个功能,即当用户选择一个省份时,相关的城市会动态地在下拉列表中加载出来,提供用户选择。这个功能在很多需要收集用户地址...
总的来说,"Struts2+json+ajax整合例子"是一个实用的教学资源,帮助开发者了解如何在实际项目中利用这些技术进行高效的Web开发。通过学习和实践这个例子,开发者可以提升其在Web应用程序开发中的技能。
3. **添加JSON支持的jar包**:Struts2提供对JSON的支持,但可能需要额外的JSON库,例如Google Gson或JSON.org提供的JSON库。在这个例子中,作者使用了JSON库的创始人自己编写的类。 4. **配置工程结构**:确保工程...
在网上想找一个strus1的关于json的使用例子,但是找了半天找不到,最后狠下心自己写了一个,使用的是谷歌的Gson,前台技术jQuery,后台struts1.2.7。希望能帮上那些急需相关知识的初学者。谢谢大家...
在这个例子中,我们添加了一个名为`struts2`的过滤器,其类型为`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。这个过滤器负责处理所有以`.action`结尾的请求。配置如下: ```xml ...
这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...
通过这个简单的例子,我们了解了如何使用Struts2和Gson构建一个处理HTTP请求并返回JSON响应的JavaWeb应用程序。Struts2提供了丰富的功能,如拦截器、结果类型、插件等,可以实现更复杂的业务逻辑和交互。而Gson库则...
在Java编程中,JSON常用于前后端数据交互,特别是与Struts2框架结合时,可以实现服务器端与客户端之间的数据高效传输。 Struts2是一个开源的MVC框架,它在SSH(Spring、Struts2、Hibernate)集成开发中扮演着控制器...
这个例子“基于android开发的服务器端和客户端例子Struts2AndJSON”是展示如何在Android客户端与使用Struts2框架的服务器端之间进行数据交换的一个教程。下面将详细阐述相关知识点。 1. **Android开发**:Android是...
- Struts2的JSON插件提供了一种简单的方式来序列化和反序列化Java对象到JSON格式,无需额外的库如Gson或Jackson。 - 要启用JSON插件,首先需要在struts.xml配置文件中引入依赖,或者在pom.xml中添加相应的Maven...
在这个“struts json经典小例子”中,我们将会看到如何结合Struts和JSON,使得jQuery能够直接与服务器进行异步通信,提升用户体验。首先,我们需要理解Struts的Action类,它是处理用户请求的核心,通常会返回一个...
Struts2是一个流行的Java web开发框架,它提供了一种组织应用程序结构和控制流程的方法。在Struts2中,我们可以利用JSON(JavaScript Object Notation)这种轻量级的数据交换格式来有效地传输数据,尤其是在与前端...
Struts 2是一个非常流行的Java Web开发框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts 2的早期版本中,如2.0和2.1,为了支持JSON(JavaScript Object Notation)数据交换格式,开发者需要额外...
不过,需要注意的是,尽管STRUTS的JSON插件能方便地处理简单数据传输,但对于复杂的JSON结构,可能需要自定义序列化和反序列化逻辑,或者使用其他更强大的库,如Gson或Jackson。此外,要确保处理好JSON安全问题,...
在这个例子中,我们使用了Gson库将Java对象转化成JSON字符串。当然,还有其他如Jackson、Fastjson等库也可以实现相同的功能。 **总结** 结合Struts和JSON,可以构建出高效且灵活的Web应用。Struts负责控制流程和...
【S2SH整合】指的是Struts2、Spring和Hibernate三个开源框架的集成应用。这是一个常见的Java Web开发技术栈,用于构建高效、灵活的企业级应用程序。Struts2提供了MVC架构,Spring提供了依赖注入和事务管理,...
这些JAR包可能包括Struts2的核心库、JSON处理库(如json-lib或Gson)以及可能需要的其他依赖。例如,struts2-json-plugin.jar是Struts2的JSON插件,它使得Struts2能够轻松地处理JSON数据;flexigrid相关的JAR可能...
总结来说,这个SSH2整合的简单增删改查实例,旨在帮助初学者理解如何将Spring、Struts2和Hibernate协同工作,以及如何利用Gson和Ajax实现前后端的数据交互。通过对这些技术的实践,开发者能够更好地掌握Java Web开发...
Java到JSON的转换是Web开发中的常见操作,特别是在使用Struts2框架时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它常用于前后端数据传输,因为...
2. **Struts 2**:Struts 2的Action对象和视图之间的数据传递也依赖于OGNL。 四、文档学习与翻译 由于提供的文档是英文版,建议使用在线翻译工具辅助阅读。理解OGNL的关键在于实践,通过编写和运行OGNL表达式,可以...