- 浏览: 1103084 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (401)
- tomcat (7)
- win7 (13)
- stackOverflow (6)
- 1 (0)
- css (5)
- develop IDE (9)
- hibernate (16)
- struts2标签 (10)
- struts2 (25)
- 框架 (1)
- SQLserver2005 (20)
- 词汇解释 (1)
- views (1)
- eclipse (6)
- 效率提高 (12)
- 代码模块 (1)
- 源代码 (3)
- jsonplugin (5)
- ajax (2)
- json (3)
- ssis (14)
- 电脑故障 (10)
- oracle (12)
- poi;excel (5)
- sql (3)
- 正则表达式 (3)
- develop IDEk (8)
- myeclipse (14)
- win2003 (5)
- 正则表达式;js (2)
- js (27)
- 待解决 (2)
- ognl (1)
- com组件 (1)
- 游戏 (6)
- 线程 (0)
- 硬盘 (4)
- 格式化 (2)
- java (7)
- html (9)
- firebug (1)
- jquery (4)
- 文件上传下载 (1)
- vss (2)
- 触发器 (1)
- spring事务管理 (2)
- 模态对话框 (1)
- SQLserver2000 (1)
- web性能优化 (2)
- web安全 (1)
- jetty (1)
- 路由器 (1)
- ie6 (1)
- 缓存 (1)
- jsp (1)
- struts2源代码 (1)
- 方法 (1)
- uml (1)
- ie (3)
- Java日志框架 (1)
- myeclipse,oracle (1)
- freemarker (4)
- 注解 (4)
- svn (2)
- hadoop (15)
- lucene (1)
- word (1)
- spring (5)
- job (1)
- extjs (4)
- paxos (1)
- zookeeper (1)
- 分布式 (1)
- 手机故障 (2)
- maven (2)
- linux (9)
- 虚拟机 (1)
- ext (3)
- javascript (1)
- 数据库 (5)
- 多线程 (12)
- junit (2)
- utils (1)
- mybatis (4)
- Joda-Time (1)
- tftp (1)
- scala (12)
- Graphic2D (1)
- jsf (5)
- 《java并发编程实战》笔记 (16)
- storm (3)
- 设计模式 (3)
- 泛型 (2)
- 数学 (1)
- primeface (1)
- poi (5)
- 线性代数 (1)
- 动态代理 (3)
- mysql (2)
- DB2 (2)
- testNG (1)
- 虚拟机、编译器、增量发布 (1)
最新评论
-
zhouchaofei2010:
Saro 写道在log4j配置里把mapper所在包设为deb ...
mybatis出现sql异常时的日志优化-打印sql参数 -
Saro:
在log4j配置里把mapper所在包设为debug就行了,参 ...
mybatis出现sql异常时的日志优化-打印sql参数 -
pyl574069214:
...
poi Excel 水平居中 垂直居中 -
zhouchaofei2010:
杀手请杀人 写道能看到scala太难得了 谢谢
scala 下划线解析报错: missing parameter type for expanded function -
杀手请杀人:
能看到scala太难得了
scala 下划线解析报错: missing parameter type for expanded function
为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址
http://code.google.com/p/jsonplugin/
1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录
注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的0.32一切OK,仔细查看文档后发现struts2的2.0.*版本的对应插件的0.32版本,struts2.1.*版本对应0.34版本
2.json插件执行原理时序图
3.将struts.xml里面的
改为
4.Action中的配置
注:根据需要选择interceptor和result配置
5. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:action类
bean类
public class Person {
private String name;
private int age;
...
}
我们只要输出person对象的name属性值,配置如下
<result type="json">
<param name="root">person.name</param>
</result>
5.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
5.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
5.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同
转自
http://cqjava.iteye.com/blog/465495
http://yxgyh.iteye.com/blog/686317
http://code.google.com/p/jsonplugin/
1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录
注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的0.32一切OK,仔细查看文档后发现struts2的2.0.*版本的对应插件的0.32版本,struts2.1.*版本对应0.34版本
2.json插件执行原理时序图
3.将struts.xml里面的
<package name="default" extends="struts-default">
改为
<package name="default" extends="json-default">
4.Action中的配置
- <action name="testAction" class="com.json.action.TestAction" method="testMethod">
- <interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
- <result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
- </action>
<action name="testAction" class="com.json.action.TestAction" method="testMethod"> <interceptor-ref name="json" /><!--处理以JSON文本提交的请求--> <result type="json" /> <!--将action的bean属性以json字符串返回浏览器--> </action>
注:根据需要选择interceptor和result配置
5. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:action类
- public class BaseAction extends ActionSupport implements {
- private Person person = null;
- ...
- }
public class BaseAction extends ActionSupport implements { private Person person = null; ... }
bean类
public class Person {
private String name;
private int age;
...
}
我们只要输出person对象的name属性值,配置如下
<result type="json">
<param name="root">person.name</param>
</result>
5.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
<result type="json"> <param name="excludeNullProperties">true</param> </result>
5.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
<result type="json"> <param name="ignoreHierarchy">false</param> </result>
5.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
- <result type="json">
- <param name="includeProperties">person.*, person\.name</param>
- </result>
<result type="json"> <param name="includeProperties">person.*, person\.name</param> </result>
5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同
转自
http://cqjava.iteye.com/blog/465495
http://yxgyh.iteye.com/blog/686317
发表评论
-
struts2 下载不弹出下载对话框
2012-12-19 17:15 2150如下配置可以: <action name=&quo ... -
getResourceAsStream
2012-12-19 17:00 2552getResourceAsStream http:// ... -
struts2访问WEB-INF文件下内容
2012-11-29 17:30 48271、 WEB-INF下内容,通过浏览器下无法直接访问 2、 ... -
struts2标签判断字符串
2012-11-14 13:24 85611:<s:property value='#at ... -
jquery ajax异步获取数据,防止重复获取
2012-07-13 14:32 2467一个onclick事件,当发送一个ajax请求时,如果该请求没 ... -
struts2附件上传,大小超过最大值处理
2012-06-20 14:19 3415Action: /** * 当上传文件大小大 ... -
struts2 action resultType ajax
2012-06-06 11:17 1017概要: 如何在st ... -
数据操作后,页面alert提示例子
2012-04-19 15:16 1027在页面开头插入如下例子代码 <s:if test ... -
struts2 格式化输出日期yyyy-MM-dd
2012-03-26 11:17 17731、直接页面输出 <s:date nam ... -
defaultStack已经包含了fileUpload的拦截器。具体的action不用再另外配置fileUpload的拦截器
2012-03-19 19:42 1056struts2.0.11 的defaultStack已经包含 ... -
struts2 property 不起作用
2012-03-16 11:41 1335<s:select id="select_s ... -
s:hidden value用property标签赋值不起作用
2012-03-07 17:23 4872<s:property value="titl ... -
struts2的重定向带参数
2012-03-06 23:28 0redirect。。。。 -
jsp 调试输出值
2012-03-06 22:46 1216比如有代码 <s:if test="#gdzc ... -
struts2 ognl 传递参数原理及过程
2011-12-31 17:22 1053struts2 ognl 传递参数原理及过程 -
struts2 jsonplugin includeProperties中对list集合的正则配置
2011-12-29 21:21 36481、listAttachment.*\.realName ... -
struts2 jsonplugin includeProperties 对list集合的正则配置
2011-12-29 21:18 4866jsonplugin 0.32 0.34 官方下载 ... -
struts2的重定向与转发配置
2011-12-27 16:18 1234<result name="success&q ... -
囧!json jsonplugin在includeProperties正则 list集合等不能序列化
2011-11-30 04:19 1024原因: 工程中用jsonplugin0.32版本的源代码替换 ... -
jsonplugin版本需注意
2011-11-30 00:27 7811. java.lang.NoSuchMethodErro ...
相关推荐
例如,`<interceptor-ref name="defaultStack">`表明JSONPlugin使用了默认的拦截器栈,并可能在其中添加或调整了特定的拦截器来处理JSON相关的逻辑。 再来看看`com`目录。这通常包含了源代码的包结构。在这个源码包...
在提供的文档《Struts2_Jsonplugin_详解.doc》和《JsonPlugin 使用.docx》中,你应该能找到更具体的使用示例和详细配置信息。这些文档可能涵盖了如何处理集合类型、自定义类型转换器、错误处理以及与其他Struts2功能...
JSONPlugin-0.33.jar 是一个专门为Struts2框架设计的插件,主要用于扩展Struts2的功能,使其能够更好地...如果你正在使用Struts2开发项目,尤其是涉及到大量AJAX交互,那么了解并掌握JSONPlugin的使用是十分必要的。
jsonplugin-0.32.jar jsonplugin.jar包
java structs jsonplugin
在使用jsonplugin-0.32.jar时,开发者需要将其添加到项目类路径中,然后在Struts2的配置文件(struts.xml或struts-plugin.xml)中进行相应的配置。例如,可以添加一个全局结果类型,让所有Action都能返回JSON: ```...
总之,JsonPlugin 是一个方便开发人员处理 JSON 数据的工具,它提供了一套非静态类函数接口,便于在蓝图系统中使用,并且通过集成库的方式确保了打包后的可移植性。对于游戏开发和需要处理 JSON 数据的项目来说,这...
JSONPlugin插件是针对Struts2.1.8框架的一个扩展,主要目的是为了方便地将Java对象转换为JSON(JavaScript Object Notation)格式的数据,以便与ExtJS这样的前端JavaScript库进行交互。在Web开发中,JSON作为一种轻...
jsonplugin-0.31.jar 使用JSON的一个架包.
在使用JSONPLUGIN之前,你需要在Struts2的配置文件(如struts.xml)中添加对应的插件配置,以启用JSON支持。这通常包括导入插件的依赖,并声明全局结果类型。 2. **Action的JSON结果**: 在Action类中,你可以...
1268047053905-integrated.jnlp jsonplugin-0.32.jar
第一次上传,要5分,是物有所值,处理了jsonplugin 的no session的问题,并且添加了,新的注释,例如 @JSON(exclude='对象的名称') 就可以剔除 解决json与Hibernate之间的大部分问题 1.数据只取三层 2.对one-ton-many ,...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript等)的习惯,使得这些语言的程序员可以很容易地...
struts2后台直接返回json对象,ajax开发必备
JSONplugin+json.jar是针对JSON处理的一个插件,通常包含了一些方便开发者处理JSON数据的工具和类库。 在Java开发环境中,当我们需要处理JSON数据时,通常会引入像json.jar这样的第三方库。这个jar包可能包含了如下...
1. **安装与配置**:JSONPlugin的使用需要先将其对应的JAR文件(如jsonplugin-0.32(struts2.0.0).jar和jsonplugin-0.34(struts2.1.6).jar)添加到项目的类路径中。接着,在Struts2的配置文件(struts.xml或struts-...
commons-beanutils-1.8.0 commons-collections-3.2 commons-lang-2.4 commons-logging-1.1 ezmorph-1.0.6 json-lib-2.3-jdk15 jsonplugin-0.34
在这个场景中,我们关注的是`jsonplugin-0.33.jar`,这是一个用于Struts2的插件,专门处理JSON(JavaScript Object Notation)数据格式的交互。 JSON是网络上数据交换的一种轻量级格式,因其简洁和高效而被广泛采用...
在Java中,使用`json-lib`和`jsonplugin`进行AJAX(Asynchronous JavaScript and XML)开发时,AJAX技术允许Web页面无需刷新即可与服务器交换数据并更新部分网页内容。这通常是通过XMLHttpRequest对象实现的,而JSON...