Jquery通过JSON和Struts的Action交互

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前面写过《JQuery通过JSON和Servlet进行交互》,不过在SSH架构的项目中要是依然在写出一个Servle实在是有点另类的(至少我目前是这么认为的),因此就应该顺势而行,使用Jquery通过JSON 和后台Action交互。

具体实现起来和前面的那篇文章差不太多。简明扼要的说一下:

首先配置好struts2的配置文件,定义一个Action名为test,对应的Class为TestAction:

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport{

private String testVar;

public String getTestVar() {

return testVar;

}

public void setTestVar(String testVar) {

this.testVar = testVar;

}

public String execute(){

System.out.println(testVar);

HttpServletRequest request = ServletActionContext.getRequest();

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("application/json;charset=UTF-8");

response.setHeader("Charset","UTF-8");

PrintWriter out = null;

String json="{\"testVar\":\"" + testVar + "\"}";

try {

out = response.getWriter();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

out.write(json);

out.flush();

return null;

}

}

然后页面上通过jquery调用,前提是你要引入jquery的库:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<%

String path = request.getContextPath();

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

My JSP 'index.jsp' starting page

This is my JSP page.