struts2.1.8+spring2.5+hibernate3+EetJs结合struts2-json-plugin-2.1.8.1.jar得到json数据注意事项
2010-06-28 10:15
459 查看
由于工作需要,需要开发一个项目,用到的是struts2.1.8+spring2.5+hibernate3+EetJs结合struts2-json-plugin-2.1.8.1.jar得到json数据返回给ExtJs使用,由于是刚接触struts2.1.8和struts2-json-plugin-2.1.8.1.jar来配置,所以遇到不少问题,现在整理一下配置注意事项:
1、首先,用了struts2-json-plugin-2.1.8.1.jar在以前版本中的json的jar包则需删去,否则会报错。
2、在action中应注意的问题:
除需要得到的数据要用get方法外,其余的尽量不要用get,并且注入的server千万不能用get方法,除jdbc直连可以,具体怎么回事,不是很清楚,有兴趣的朋友可以研究一下,如知道的可以告诉我一下,谢谢!因为我不是很清楚他的内部实现原理!
例:其中的list就不要生成get方法,否则会无法取得json,这是我找了很久的问题之一,最后还是在别人的博客中提到过试了一下发现正是有这个相关原因。
public class TestAction extends ActionSupport{
private List<Test> tests;
private ITestManage testMag;
public void setTestMag(ITestManage testMag) {
this.testMag = testMag;
}
public List<Test> getTests() {
return tests;
}
public void setTests(List<Test> tests) {
this.tests = tests;
}
@Override
public String execute() throws Exception {
tests=testMag.findAll();
return SUCCESS;
}
}
3、再次就是struts.xml的配置问题,如是手动转换的就用自己手动转换的方法吧
在struts.xml中如果想直接用struts2.1.8的新特性,自动转换数据为json数据的话,那就得再定义一个包,继承自"json-default"
然后是result中type设为json,此时有个注意事项,就是需要设置参数
<param name="excludeProperties">TestManager</param>
在你有result中,其中TestManager是你自己注入的server接口名称,千万注意此点,如果你没有配没有问题,那可能是你的方式不一样也可能,但如果没配不行,那就把这个配上试试吧,嘿嘿,另外还可以配置一下
<param name="excludeProperties">.*hibernateLazyInitializer</param>
听说这后面一个是解决hibernate反射关闭的也就是实体中的属性是另外的实体的问题,有兴趣的朋友可以试试
例:
<package name="json" extends="json-default">
<action name="test" class="test">
<result type="json">
<param name="excludeProperties">TestManager</param>
<param name="excludeProperties">.*hibernateLazyInitializer</param>
</result>
</action>
</package>
以上三点基本都是别人提到过的,不过没有人全部总到一起过,可偏偏让我一起遇到了,塞翁失马焉知非福呢,嘿嘿,至少让我积累了这几个注意事项,如果有相同的朋友,也算是我对他们的一点点帮助吧!
最后也希望大家工作学习顺利,也希望大家一起努力,只要有大家一起努力,那所有的问题就不算问题了,群众的力量是强大的,嘿嘿!
如需要什么帮助,可以联系我,我的QQ是247427748,祝大家天天开心!
1、首先,用了struts2-json-plugin-2.1.8.1.jar在以前版本中的json的jar包则需删去,否则会报错。
2、在action中应注意的问题:
除需要得到的数据要用get方法外,其余的尽量不要用get,并且注入的server千万不能用get方法,除jdbc直连可以,具体怎么回事,不是很清楚,有兴趣的朋友可以研究一下,如知道的可以告诉我一下,谢谢!因为我不是很清楚他的内部实现原理!
例:其中的list就不要生成get方法,否则会无法取得json,这是我找了很久的问题之一,最后还是在别人的博客中提到过试了一下发现正是有这个相关原因。
public class TestAction extends ActionSupport{
private List<Test> tests;
private ITestManage testMag;
public void setTestMag(ITestManage testMag) {
this.testMag = testMag;
}
public List<Test> getTests() {
return tests;
}
public void setTests(List<Test> tests) {
this.tests = tests;
}
@Override
public String execute() throws Exception {
tests=testMag.findAll();
return SUCCESS;
}
}
3、再次就是struts.xml的配置问题,如是手动转换的就用自己手动转换的方法吧
在struts.xml中如果想直接用struts2.1.8的新特性,自动转换数据为json数据的话,那就得再定义一个包,继承自"json-default"
然后是result中type设为json,此时有个注意事项,就是需要设置参数
<param name="excludeProperties">TestManager</param>
在你有result中,其中TestManager是你自己注入的server接口名称,千万注意此点,如果你没有配没有问题,那可能是你的方式不一样也可能,但如果没配不行,那就把这个配上试试吧,嘿嘿,另外还可以配置一下
<param name="excludeProperties">.*hibernateLazyInitializer</param>
听说这后面一个是解决hibernate反射关闭的也就是实体中的属性是另外的实体的问题,有兴趣的朋友可以试试
例:
<package name="json" extends="json-default">
<action name="test" class="test">
<result type="json">
<param name="excludeProperties">TestManager</param>
<param name="excludeProperties">.*hibernateLazyInitializer</param>
</result>
</action>
</package>
以上三点基本都是别人提到过的,不过没有人全部总到一起过,可偏偏让我一起遇到了,塞翁失马焉知非福呢,嘿嘿,至少让我积累了这几个注意事项,如果有相同的朋友,也算是我对他们的一点点帮助吧!
最后也希望大家工作学习顺利,也希望大家一起努力,只要有大家一起努力,那所有的问题就不算问题了,群众的力量是强大的,嘿嘿!
如需要什么帮助,可以联系我,我的QQ是247427748,祝大家天天开心!
相关文章推荐
- Struts2和Spring整合时使用Struts-plugin的注意点
- Extjs整合struts2的jsonplugin的方法和注意事项
- Extjs整合struts2的jsonplugin的方法和注意事项
- spring2.5+struts2.1.8+hibernate3整合配置
- Jquery、Json、Struts2、Spring实现Ajax动态功能以及注意事项
- Extjs整合struts2的jsonplugin的方法和注意事项
- Spring2.5+Struts2+Hibernate3整合之六
- $.ajax传JSON数据到后台的注意事项小结
- java后台返回前端数据的方式json,html 组装json的技术struts2-json-plugin,fast-json,Gson,手动拼接
- Unable to load configuration. - bean - jar:file:/d:/Tomcat/webapps/ssh007/WEB-INF/lib/struts2-spring-plugin-2.1.8.1.jar!/struts-
- Struts2.5 利用Ajax将json数据传值到JSP的实例
- 文章管理系统【Struts2+Hibernate3+Spring2.5】
- struts2+spring2.5+hibernate3集成的简单实例
- Spring2.5+Struts2+Hibernate3整合之三
- Spring2.5+Struts2+Hibernate3整合之六
- struts2.1.8 hibernate3.3.2 spring2.5 整合需要哪些jar包
- 让json数据直接入库mongodb注意事项
- spring2.5 struts2 hibernate3 时事务配置注意的问题 openSessionInViewFilter web.xml
- 关于使用struts2-json-plugin 插件,Json返回List对象数据为空解决方案
- 基于SSH(Struts2.0+Spring2.5+Hibernate3)的框架构建(2)