閱讀982 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Struts中token標簽防止重複提交

 

使用攔截器

<action name="pro" >

           <!-- 使用係統默認的攔截器棧 -->

           <interceptor-ref name="defaultStack"/>

           <!-- 使用防刷新的token攔截器 -->

           <interceptor-ref name="token"/>

           <!-- 定義重複提交轉向的視圖,該邏輯視圖名必須是invalid.token -->

           <result name="invalid.token">/refresh.jsp</result>

           <!-- 如果處理結果返回success,對應/show.jsp視圖資源 -->

           <result name="success">/show.jsp</result>

</action>

 

表單頁麵

<body>

<h3>使用s:token防止重複提交</h3>

<s:form action="pro">

    <!-- 普通表單域 -->

    <s:textfield name="userName" key="book"/>

    <!-- 用於防刷新的token -->

    <s:token/>

    <s:submit value="提交"/>

</s:form>

</bod

 

refresh.jsp

<body>

您的請求已被處理!請不要刷新頁麵

</body>y>

 


show.jsp
<body>
成功提交.${uname}
</body>

action.Pro


package action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class Pro extends ActionSupport{
 private String userName;

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }
 @Override
 public String execute() throws Exception {
  ActionContext.getContext().put("uname", getUserName());
  return SUCCESS;
 }

}

最後更新:2017-04-02 06:52:16

  上一篇:go Java連接sqlserver2005到主機的TCP/IP連接失敗問題
  下一篇:go 網站中痕跡保留的實現