包含页面发送ajax 请求到action中,以及action 发送json格式数据到页面
页面为
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<script type="text/javascript" src="/bookmanager1.0/js/jquery-3.1.1.js"></script>
<script type="text/javascript">
$(function(){
$(".test").click(function(){
$.get("/bookmanager1.0/login.action",{username:"zhangsan"},function(data){
alert(data);
})
})
})
</script>
</head>
<body>
<button class="test">点击</button>
</body>
</html>
action 的内容为:
package com.lucas.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
import net.sf.json.JSONArray;
public class AjaxAction extends ActionSupport implements ServletRequestAware{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
private String jsonResult;
public String getJsonResult() {
return jsonResult;
}
public void setJsonResult(String jsonResult) {
this.jsonResult = jsonResult;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
String uu=this.username;
System.out.println(uu);
List<String> s=new ArrayList<String>();
s.add("张三");
s.add("lisi");
s.add("王五");
JSONArray ja=JSONArray.fromObject(s);
jsonResult=ja.toString();
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
this.httpServletRequest=arg0;
}
private HttpServletRequest httpServletRequest;
}
xml的配置为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default,json-default">
<action name="login" class="com.lucas.action.AjaxAction">
<result type="json">
<param name="root">jsonResult</param>
</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
以上内容颜色相同的有相关的联系