本文主要为大家详细介绍了jquery ajax请求struts action实现异步刷新,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
这个样例是用JQuery ajax和struts来做的一个小样例,在这个样例中采用两种方式将java Util中的list转换成支json的格式,第一种是用json-lib.jar这个jar包来转换,第二种是采用goole的gson-2.1.jar来转换,大家可以根据需要导入相应的jar包,在这里为了做测试将两种jar包都导入了。下面开始进入正题
第一步:导入相关jar包,本样例需导入struts相关jar包,json-lib.jar,gson-2.1.jar可以任意选择,但是这里需要都导入,因为为了做测试,两种jar包的转换方式都用到了。
第二步:配置web.xml
struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* contextConfigLocation classpath:applicationContext.xml
第三步:新建struts.xml,默认admin/下跳转到/WEB-INF/index.jsp
/WEB-INF/index.jsp
第四步:编写AjaxRequestAction.java文件,这里做了两种请求,一种是直接请求到字符串,另一种是请求到一组数组格式的数据,但该数据必须要转换成JSON支持的数组,具体如下
package com.fengqi.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.apache.struts2.ServletActionContext;
import com.google.gson.Gson;
import com.opensymphony.xwork2.ActionSupport;
/**
* 创建时间:2014-10-24,ajax请求的action样例
*/
public class AjaxRequestAction extends ActionSupport{
private String sex;
@Override
public String execute() throws Exception {
return super.execute();
}
/**
* ajax请求,以json格式的字符串响应请求
*/
public void ajaxString(){
System.out.println(sex);
//获取相应Response
HttpServletResponse response = ServletActionContext.getResponse();
//设置编码方式
response.setCharacterEncoding("UTF-8");
try {
if(sex.equals("nan")){
response.getWriter().write("我是男的");
}else if(sex.equals("nv")){
response.getWriter().write("我是女的");
}else{
response.getWriter().write("男女都不是");
}
//将数据写到页面中
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* ajax请求,以list的形式响应请求,主要这里的list并不是Util的List,而是经过转换成指出json格式的List
*/
public void ajaxList(){
List第五步:在将struts.xml文件更新下,配置AjaxRequestAction.java的访问路径添加如下代码
最后struts.xml的完整文件是
/WEB-INF/index.jsp
第六步:编写index.jsp文件,这里做了两种请求,一种是直接请求到字符串,另一种是请求到一组数组格式的数据,但该数据必须要转换成JSON支持的数组,具体如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>ajax异步刷新样例测试
这里是ajax请求Demo,该实例是请求Struts中的action
这里是p元素
请选择性别:
这样一个简单的ajax请求就已经完成了。
相关推荐:










