struts2 使用jsonplugin
配置中的参数含义:
root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性
ignoreHierarchy 为false时表示要序列化根对象的所有基类
excludeProperties表示排除的序列化的属性
includeProperties表示哪些属性被序列化
Action配置:
- <!-- jsonplugin的使用配置 -->
- <!-- package要继承json-default 以加载json插件 -->
- <action name="jsonAct" class="cn.enjoylife.prac.action.JsonAction">
- <result type="json">
- <!-- root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性 -->
- <param name="root">map</param>
- <!-- ignoreHierarchy 为false时表示要序列化根对象的所有基类 -->
- <param name="ignoreHierarchy">false</param>
- <!-- 排除hello属性,使其不被序列化 -->
- <param name="excludeProperties">hello</param>
- </result>
- </action>
JsonAction.java:
- /**
- * @author Evan
- *
- */
- public class JsonAction extends ActionSupport {
- private static final long serialVersionUID = 3870310687165227565L;
- private int[] ints = { 100, 200 };
- private Map<String, Object> map = new HashMap<String, Object>();
- private String hello = "helloWorld";
- private String username = "evan";//没有getter方法,不会被序列化
- private String password = "pwd";
- private String validateCode = "123456";
- public int[] getInts() {
- return ints;
- }
- public void setInts(int[] ints) {
- this.ints = ints;
- }
- @JSON(name="newMap")//重新命名
- public Map<String, Object> getMap() {
- return map;
- }
- public void setMap(Map<String, Object> map) {
- this.map = map;
- }
- public String getHello() {
- return hello;
- }
- public void setHello(String hello) {
- this.hello = hello;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- @JSON(serialize=true)//这是默认值,可以省去
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @JSON(serialize=false)//serialize参数为false,不会被序列化
- public String getValidateCode() {
- return validateCode;
- }
- public void setValidateCode(String validateCode) {
- this.validateCode = validateCode;
- }
- @Override
- public String execute() throws Exception {
- map.put("info", "今天的雨真大啊!");
- return SUCCESS;
- }
- }
使用jquery操作返回的json串:
- $(document).ready(function(){
- $.getJSON(
- "./jsonAct.action",
- function(data){
- alert(data.info);
- }
- );
- });
https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin
struts2 使用jsonplugin的更多相关文章
- ibernate+Struts2环境如何使用jqGrid。
因为公司项目需要,在Hibernate+Struts2的环境下,研究了一下如何使用jqGrid. 说实在的,Struts2+jqGrid不是一个很好的组合.因为jqGrid中很多功能,基本上都使用的是 ...
- 解决Struts2 json-plugin Date或Timestamp等日期格式带T的问题
如果没有对日期时间对象类进行json日期格式声明,会出现类似"2013-06-18T12:08:56.23"日期,在日期中间多出一个T字母: 从通过查询数据,以及调试程序发现直到返 ...
- struts2.0整合json
框架:struts2.0+hibernate2+spring 今天写代码时,需要用到json,我就直接加了两个jar包:json-lib-2.1-jdk15.jar,struts2-json-plug ...
- struts2+hibernate+spring+jquery返回json List列表
1.引入包:struts2-json-plugin-2.1.8.1.jar json-lib-2.1.jar commons-collections-3.2.1.jar commons-beanuti ...
- Class org.apache.struts2.json.JSONWriter can not access a member of
异常形式: Class org.apache.struts2.json.JSONWriter can not access a member of * 或是 Class com.googlecode. ...
- struts2的json-default和struts-default的区别
http://www.cnblogs.com/lbangel/archive/2013/05/24/3096986.html struts2的json plugin可以实现struts2和json的完 ...
- 为什么struts2 ajax 方法执行两次
struts2中使用json插件执行ajax处理时,如果方法名是get方法的时候,方法会莫名其妙的执行两次. 原因: struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面 ...
- 转载:Struts2.3.15.1升级总结
转载网址:http://blog.csdn.net/amosryan/article/details/10350481 由于大家都懂的原因,涉struts2的项目需要将struts2相关包升级至2.3 ...
- 转:Struts2框架安全缺陷
当前java开发网站,通常不会是纯JSP的,大都使用了java framework. 有了这些framework,让开发人员更加快速的开发出代码,也让代码非常具有可扩展性,那些分层架构的思想,更是深入 ...
随机推荐
- 单服务员排队模拟100天matlab实现
大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang %单服务员排队模型模拟100天 clear clc day = 100 ;s = zeros(1, ...
- Spring security oauth2最简单入门环境搭建
关于OAuth2的一些简介,见我的上篇blog:http://wwwcomy.iteye.com/blog/2229889 PS:貌似内容太水直接被鹳狸猿干沉.. 友情提示 学习曲线:spring+s ...
- 开发支付宝支付用DELPHI实现 RSA签名
近来根据业务需求 在ERP中集成了微信支付,支付宝支付,开发支付宝支付时最大的障碍就是RSA签名,找了很多资料,最终用 下了个libeay32.pas 根据网上资料最终解决了问题 function ...
- UML--对象的介绍
UML相对于学习UML的符号含义而言,掌握它们背后的方法和思想是更为重要的.软件是一种实践知识,仅仅靠书本不可能成为高手.书本只能给出思路和知识点,而掌握和消化这些知识则必须在实践中去完成. 如果我们 ...
- sql server Convert 的函数的用法 转换成浮点数
SELECT a.ijjdid ,b.ICYDID 订单ID,b.CCYDH 订单编号,b.CWYDH 委印单号,b.CYJMC 印件名称,b.CYJLX 印件类型,b.CYWDWMC 客户名称,b. ...
- Oracle优化笔记
2016-11-22 子查询:标量子查询 内联视图(in-line view) 半连接/反连接 标量子查询 select 后跟子查询 类似自定义函数 可用开窗函数之类的改写 内联视图(in ...
- hdu3849-By Recognizing These Guys, We Find Social Networks Useful:双连通分量
By Recognizing These Guys, We Find Social Networks Useful Time Limit: 2000/1000 MS (Java/Others) ...
- log4j 突然不打印记录,提示:No appenders could be found for logge,处理方法
log4j 一直都在使用正常,log4j.xml配置.代码都没有修改,突然不打印记录,出现下面提示: log4j:WARN No appenders could be found for logger ...
- art.dialog
关闭指定弹出窗: art.dialog({ id: 'hetong' }).close(); 关闭所有的iframe弹出窗,art.dia.close();
- IOS uitableviewcell 向左滑动删除编辑等
主要实现这个方法就好了 -(NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActions ...