一、struts.xml
<package name="warning" namespace="/warning" extends="vender,json-default">
<action name="*" class="com.zjl.action.WarningAction" method="{1}">
<!-- 普通类型 返回页面 -->
<result name="overview">/WEB-INF/vm/warningOverview.vm</result>
<result name="repeatDistribution">/WEB-INF/vm/warningRepeat.vm</result>
<!-- 返回json类型 -->
<result name="urlResult" type="json">
<param name="root">url</param>
</result>
<result name="allUntreatedNum" type="json">
<param name="callbackParameter">jsoncallback</param> // jsonp
<param name="root">countNum</param>
</result>
</action>
</package>
1、extends 继承 json-default
2、将要返回json数据的 result 添加类型 type="json"
3、 <param name ="root"> ??? </param>写法固定 ??? 为action中定义的属性(要返回的json变量)
二、action
public class WarringAction extends ActionSupport {
private String url;
private int countNum;
// get set 省略
public String allUntreatedNum() {
// 给要返回的属性赋上值即可
countNum = WarningService.findUntreatedNum(); // 返回json
return "allUntreatedNum";
}
}
1、在属性中定义要返回的json 变量名,与struts.xml中保持一致
2、添加getter,setter,方法
3、相应action方法中给它赋上值
4、返回配置的视图名
三、ajax
function goProduct(spu) {
jQuery.ajax({
url:'/warning/allUntreatedNum.action',
data:{
spu:spu,
warningType:1
},
success:function(data){
console.log(data);
}
});
}
还可以参考:
Struts2+Jquery实现ajax并返回json类型数据