最近才开始学习Struts,各种问题啊。
前端用form表单封装成JSON,以AJAX格式发送给服务器端
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<script type="text/javascript" src="jquery-1.11.1.js"></script>
<title>JSP for TestForm form</title>
</head>
<body>
<form id="userform" >
name : <input type="text" name="name"/><br/>
password : <input type="password" name="password"/><br/>
<input type="submit" id="submitbutton"/>
</form>
</body>
<script type="text/javascript">
$(function(){
$("#submitbutton").click(function(){
var udata=$("#userform").serializeArray();
$.post("http://flybear:8081/eip/test.do", udata, recallback(),"json");
function recallback(data){
alert(data);
}
});
})
</script>
</html>
后端Struts的Action
<pre name="code" class="java">public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException {
String name=request.getParameter("name");
String password=request.getParameter("password");
System.out.println(name);
System.out.println(password);
loginValidator=(LoginValidator) Global.getService("loginvalid");
System.out.println(loginValidator.isValidUser(name, password));
if(!loginValidator.isValidUser(name,password))
{
PrintWriter out =response.getWriter();
out.write("AAA");
//return mapping.findForward("fail");
}
else {
JSONObject result=new JSONObject();
//result.put("state", "true");
PrintWriter out =response.getWriter();
out.write("AAA");
//request.setAttribute("LZL", "SUCCESS");
//return mapping.findForward("success");
}
return null;
}
服务器端直接向前端传字符串,用out.write向前端返回信息!如遇到复杂数据就用JSON格式的字符串格式。