最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Struts2實(shí)現(xiàn)防止表單重復(fù)提交

 更新時間:2020年10月21日 14:35:23   作者:cuisuqiang  
這篇文章主要介紹了基于Struts2實(shí)現(xiàn)防止表單重復(fù)提交,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

首先要配置攔截器,攔截器用于控制重復(fù)提交內(nèi)容!其實(shí)原理很簡單,就是在表單內(nèi)生成一個序列,判斷是否為新的序列,如果是之前的序列,則證明是一個重復(fù)提交內(nèi)容!

攔截器配置如下:

<?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>
	<package name="common" extends="struts-default" namespace="/common">		
		<interceptors>
			<interceptor-stack name="loginStack">
				<interceptor-ref name="defaultStack"></interceptor-ref>
				<interceptor-ref name="token"></interceptor-ref>
			</interceptor-stack>
		</interceptors>
		<default-interceptor-ref name="loginStack"></default-interceptor-ref>
		<action name="loginAction_*" class="loginAction" method="{1}">
			<result name="success">/welcome.jsp</result>
			<result name="invalid.token" type="redirect">/index.jsp</result>
			<result name="input" type="redirect">/index.jsp</result>
		</action>
	</package>	
</struts>

注意:

如果你不引用:

<interceptor-ref name="defaultStack"></interceptor-ref>

那么你的后臺就不能再接收到參數(shù)。

<result name="invalid.token" type="redirect">/index.jsp</result>
<result name="input" type="redirect">/index.jsp</result>

這兩個返回你一定要配置!一個是重復(fù)提交的處理,一個是沒有表單標(biāo)記時的處理!

JSP中增加Struts標(biāo)簽的引用

<%@taglib prefix="s" uri="/struts-tags" %>

在表單內(nèi)增加一個標(biāo)記:

<s:form action="" name="form1" method="post">
<s:token></s:token>
</s:form>

頁面上會看到輸出兩個隱藏域:

<input type="hidden" name="struts.token.name" value="struts.token"/>
<input type="hidden" name="struts.token" value="BXPNNDG6BB11ZXHPI4E106CZ5K7VNMHR"/>

這就是你當(dāng)前表單的標(biāo)記,如果沒有標(biāo)記,則返回INPUT,如果標(biāo)記重復(fù)就是重復(fù)提交返回invalid.token!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA包裝類及自動封包解包實(shí)例代碼

    JAVA包裝類及自動封包解包實(shí)例代碼

    JAVA包裝類及自動封包解包實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • Mybatis中的resultType和resultMap使用

    Mybatis中的resultType和resultMap使用

    這篇文章主要介紹了Mybatis中的resultType和resultMap使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Java HttpClient-Restful工具各種請求高度封裝提煉及總結(jié)

    Java HttpClient-Restful工具各種請求高度封裝提煉及總結(jié)

    這篇文章主要介紹了Java HttpClient-Restful工具各種請求高度封裝提煉及總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法

    詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法

    這篇文章主要介紹了詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Spring項(xiàng)目讀取配置文件中文亂碼的解決

    Spring項(xiàng)目讀取配置文件中文亂碼的解決

    這篇文章主要介紹了Spring項(xiàng)目讀取配置文件中文亂碼的解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java ThreadLocal 線程安全問題解決方案

    Java ThreadLocal 線程安全問題解決方案

    這篇文章主要介紹了Java ThreadLocal 線程安全問題解決方案的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Idea中使用Git的流程

    Idea中使用Git的流程

    這篇文章主要介紹了Idea中使用Git的流程,git是目前流行的分布式版本管理系統(tǒng)。本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • 基于jenkins實(shí)現(xiàn)發(fā)布node.js項(xiàng)目

    基于jenkins實(shí)現(xiàn)發(fā)布node.js項(xiàng)目

    這篇文章主要介紹了基于jenkins實(shí)現(xiàn)發(fā)布node.js項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Servlet和Filter之間的區(qū)別與聯(lián)系

    Servlet和Filter之間的區(qū)別與聯(lián)系

    這篇文章主要介紹了Servlet和Filter之間的區(qū)別與聯(lián)系的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • JAVA實(shí)現(xiàn)圖書管理系統(tǒng)項(xiàng)目

    JAVA實(shí)現(xiàn)圖書管理系統(tǒng)項(xiàng)目

    相信每一個學(xué)生學(xué)編程的時候,應(yīng)該都會寫一個小項(xiàng)目——圖書管理系統(tǒng)。為什么這么說呢?我認(rèn)為一個學(xué)校的氛圍很大一部分可以從圖書館的氛圍看出來,而圖書管理系統(tǒng)這個不大不小的項(xiàng)目,接觸的多,也比較熟悉,不會有陌生感,能夠練手,又有些難度,所以我的小項(xiàng)目也來了
    2021-10-10

最新評論

海阳市| 特克斯县| 绥中县| 景德镇市| 天长市| 酒泉市| 穆棱市| 汨罗市| 资源县| 南川市| 平利县| 库车县| 琼结县| 洪江市| 西乡县| 罗平县| 黑水县| 建瓯市| 台州市| 闵行区| 抚顺县| 彭水| 营口市| 阿拉善左旗| 醴陵市| 凤城市| 梁平县| 常州市| 凯里市| 安仁县| 平谷区| 石泉县| 双桥区| 信丰县| 成都市| 南昌县| 东丰县| 莫力| 上虞市| 扶风县| 邻水|