1.使用叫做token的攔截器,在表單中加入<s:token></s:token>
在login.jsp頁面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head>
<body>
<center>
<form action="login.action" method="post">
<s:token></s:token>
userName:<input type="text" name="username"/><br>
passWord:<input type="text" name="password"/><br>
<input type="submit" value="Submit"/>
</form>
</center>
</body>
</html>
2.寫一個Action類 LoginAction extends ActionSupport
package com.jsu.struts2.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
@Override
public String execute() throws Exception {
System.out.println("username="+username+"password="+password);
System.out.println("OK");
System.out.println(" Action Execute...");
return SUCCESS;
}
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;
}
}
3.在struts.xml中配置
<struts>
<package name="loginDemo" namespace="/" extends="struts-default">
<action name="login" class="com.jsu.struts2.action.LoginAction">
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/index.jsp</result>
<result name="invalid.token">/error.jsp</result>
</action>
</package>
</struts>
4.在瀏覽器地址欄http://localhost:8080/struts2_04/login.jsp 提交數據之後,在回退,在重複提交會顯示到錯誤頁面,觀察控制檯輸出的信息