[size=medium]在服务器端生成一个随机值,然后传给客户端的form中,当客户端提交时,用隐含域提交给服务器端,提交后,
服务器端又把那个随机值清掉了,当你再次提交时,服务器端的那个随机值已经清掉了,所以提交失败[/size]
服务器端又把那个随机值清掉了,当你再次提交时,服务器端的那个随机值已经清掉了,所以提交失败[/size]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="test" namespace="/" extends="struts-default">
<action name="input" class="com.hugui.action.InputAction">
<result>/input.jsp</result>
</action>
<action name="user" class="com.hugui.action.UserAction">
<result>/addOK.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 在服务器端生成一个随机值,然后传给客户端的form中,当客户端提交时,用隐含域提交给服务器端,提交后,
服务器端又把那个随机值清掉了,当你再次提交时,服务器端的那个随机值已经清掉了,所以提交失败,错误是invalid.token -->
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>
</package>
</struts>
package com.hugui.action;
import com.opensymphony.xwork2.ActionSupport;
public class InputAction extends ActionSupport {
@Override
public String execute() throws Exception {
return super.execute();
}
}
package com.hugui.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private String name;
private int age;
@Override
public String execute() throws Exception {
System.out.println("a user added!");
return super.execute();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}