日期:2014-05-16  浏览次数:20344 次

Struts2中配置JSON格式数据Ajax请求例子

Struts2中配置JSON格式数据Ajax请求例子(原创):
1、在struts.xml中配置json格式数据传输的配置,代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 事件管理 ajax -->

<package name="ajax" namespace="/ajax" extends="json-default">
?? <action name="*_eventreg" class="eventreg" method="{1}Event">
???? <result type="json">
?????? <param name="root">result</param>
???? </result>
?? </action>
</package>

</struts>
注:代码中绿色的部分即为配置json格式数据ajax请求的配置。
2、Action中将数据转化成json数据,并跳转
/**
* 根据事件分类选择事件种类
* @return
* @throws Exception
*/
public String gettypeEvent() throws Exception {
???? String clsfId = EventClsf.getIdByClsfCode(form.getEvtClsfCd());
???? List<EvtTypeUI> hm = EventType.getListById(clsfId);

???? JSONArray jsonArray = JSONArray.fromObject(hm);
???? result = jsonArray.toString();

???? return SUCCESS;
}


3、页面请求代码:
$.ajax({
???? type: "POST",
???? url: "/SRSS/ajax/gettype_eventreg.action",
???? data: "form.evtClsfCd="+evtClsfCd,
?? ? success: function(data){

??????? var dataObj = eval( "(" + data + ")" );
??????? $.each(dataObj,function(index,content){
????????? //循环取出数据
??????? });
???? }
});


注:绿色的代码是将传回来的数据转化为json格(出自:疯狂的IT人 )