struts2 token 重複提交

<s:token></s:token>
在jsp頁面的form裏面加上
注意:要先訪問到這個jsp頁面,來給token初始的值,這樣當你提交的時候,才能匹配上

剛進入jsp頁面的時候,struts2會生成一個tokenid的字符串,然後存入session。當點擊提交按鈕的時候,struts2把頁面的tokenid回傳到struts2的攔截器裏,看看是否一樣,一樣的話,就在給tokenid賦個新值,然後傳回表單,當再點擊提交或者刷新的時候,又執行上面的過程,結果session中的tokenid和表單中的不一樣,就出錯

<actionname="xxx"class="xxx">
<interceptor-refname="token"/>
<interceptor-refname="defaultStack"/>
<resultname="invalid.token"type="dispatcher">/jsp/repeatRefresh.jsp</result>
<resultname="input"type="dispatcher">/jsp/Person.jsp</result>
<resultname="success"type="dispatcher">/jsp/Person.jsp</result>
</action>

上面的invalid.token默認是不一致時候的result,這樣就返回到repeatRefresh.jsp頁面,在這裏給出提示,比如:不能重複提交等等
 別忘了在頁面的form里加上 <s:token > </s:token>,可以查看源代碼,就能找到tokenid的值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章