1、导入json-lib-2.1.jar、struts2-json-plugin-2.1.8.1.jar、 struts2-junit-plugin-2.1.8.1.jar包和struts-plugin.xml配置
2、在js文件下使用$post或$ajax中设置要提交的url:如userJSONAction_checkUsername.do。
3、struts.xml配置
<package name="ajax" extends="struts-default">
<result-types>
<result-type name="ajaxResult" class="com.cwl.result.AjaxResult"></result-type>
</result-types>
</package>
<package name="userjson" namespace="/" extends="ajax">
<action name="userJSONAction_*" method="{1}" class="com.cwl.action.UserAction">
<result type="ajaxResult"></result>
</action>
</package>
4、根据struts.xml的配置跳转到对应的action的相关方法中,在方法中调用服务层并将要显示在页面中的值放在值栈的栈顶中。
2、在js文件下使用$post或$ajax中设置要提交的url:如userJSONAction_checkUsername.do。
3、struts.xml配置
<package name="ajax" extends="struts-default">
<result-types>
<result-type name="ajaxResult" class="com.cwl.result.AjaxResult"></result-type>
</result-types>
</package>
<package name="userjson" namespace="/" extends="ajax">
<action name="userJSONAction_*" method="{1}" class="com.cwl.action.UserAction">
<result type="ajaxResult"></result>
</action>
</package>
4、根据struts.xml的配置跳转到对应的action的相关方法中,在方法中调用服务层并将要显示在页面中的值放在值栈的栈顶中。
5、在自定义结果集中取得栈顶元素的值,在ajax中回调显示出来:
自定义结果集:
public class AjaxResult implements Result{
public void execute(ActionInvocation invocation) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
String message = ActionContext.getContext().getValueStack().peek().toString();
System.out.println(message);
response.getWriter().print(message);
}
}
回调:
$.post("questionJSONAction_getQuestion.do",parameter,function(data){
$("#message").html(data);
});
本文介绍如何在 Struts2 框架中使用 JSON 插件实现前后端交互,包括所需 JAR 包及配置文件的导入、前端 AJAX 调用设置、后端 Action 方法配置及自定义结果集实现数据返回等关键步骤。
1万+

被折叠的 条评论
为什么被折叠?



