struts2整合json及extjs
struts2是在webwork2基础上开发的新一代MVC框架,但是struts1与struts2是完全不同的概念。如果需要对struts2进行
更详细的学习请参考其他相关资料,在这里只提下struts2与extjs的结合,而不是涉及具体技术细节。
怎么让struts2也生成extjs需要的json数据格式呢?
struts2通过插件方式提供了对json的支持,介绍一个插件:jsonplugin.jar
下载地址:
http://code.google.com/p/jsonplugin/downloads/list
*注意:
1)、struts.xml配置如下(例):
<?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="GBK"/>
<!-- 相关配置 -->
<package name="json" extends="json-default">
<action name="extjs" <result type="json"/>
</action>
</package>
</struts>
//这里action的返回类型result type设置为json,这种返回类型是由json提供插件支持的,这种类型不是struts2默认支持
的返回类型
2)、有时测试过程出现如下错误信息:
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:157)...
原因:版本不对应
jsonplugin0.32.jar对应struts2.0.x
jsonplugin0.33.jar对应struts2.1.x
一定要注意版本问题!