微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

rush:xml;"> struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* contextConfigLocation classpath:applicationContext.xml

第三步:

新建struts.xml,认admin/下跳转到/WEB-INF/index.jsp

rush:xml;"> figuration 2.3//EN" "http://www.yxccc.com/news/">

<package name="bg" namespace="/" extends="struts-default">
<default-action-ref name="index"/>

<action name="index">

/WEB-INF/index.jsp

第四步:

编写AjaxRequestAction.java文件,这里做了两种请求,一种是直接请求到字符串,另一种是请求到一组数组格式的数据,但该数据必须要转换成JSON支持的数组,具体如下

rush:java;"> 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();
    }
    }

/**