本实例通过利用Jquery框架中的post方法实现了前台jsp页面的数据和以struts2为后台的action之间数据的传递
首先编写jsp页面
JSP代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="<%=path %>/js/jquery-1.7.2.js">
</script>
<script type="text/javascript" src="<%=path %>/js/md5.js">
</script>
<script type="text/javascript" src="<%=path %>/js/login.js">
</script>
</head>
<body>
<div align="center">
user login
<br />
<br />
username:
<s:textfield name="username"></s:textfield>
<br />
<br />
password:
<s:password name="password"></s:password>
<br />
<br />
<s:submit value="提交" id="submit"></s:submit>
</div>
</body>
</html>
界面很简单 就是一个模拟登录的界面
2。。。。。。进行JS脚本编写
//对密码进行加密
$(document).ready(function() {
$("#submit").click(function() {
var psw = $("#password");
var username = $("#username").val();
var password = hex_md5(psw.val());
alert(psw.val()+":"+password);
$.post("Login.action",{"username":username,"password":password},function(data){alert(data);},"text");
alert("123");
}
);
})
3。。。。。。。。进行后台action的编写
package com.action;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
private String username;
private String password;
public String execute() throws Exception {
System.out.println(password);
HttpServletResponse response=ServletActionContext.getResponse();
response.getWriter().write(username);
System.out.println(username);
return null;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
4。。。。。。。。进行struts的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default">
<action name="Login" class="com.action.Login">
<result>pages/admin.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
5。。。。。。。。。。。进行测试
测试结果为后台得到前台的username和加密后的password并在控制台进行了打印
前台直接返回alert弹出了输入的username
6。。。。。。配置完毕