導航:首頁 > 編程語言 > strutsjsp表單驗證

strutsjsp表單驗證

發布時間:2023-02-24 17:14:00

『壹』 struts工作原理與工作流程有什麼區別

工作原理
在Struts2框架中的處理大概分為以下幾個步驟
1 客戶端初始化一個指向Servlet容器(例如Tomcat)的請求
2 這個請求經過一系列的過濾器(Filter)(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對於Struts2和其他框架的集成很有幫助,例如:SiteMesh Plugin)
3 接著FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請是否需要調用某個Action
4 如果ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy
5 ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調用的Action類
6 ActionProxy創建一個ActionInvocation的實例。
7 ActionInvocation實例使用命名模式來調用,在調用Action的過程前後,涉及到相關攔截器(Intercepter)的調用。
8 一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果通常是(但不總是,也可 能是另外的一個Action鏈)一個需要被表示的jsP或者FreeMarker的模版。在表示的過程中可以使用Struts2 框架中繼承的標簽。在這個過程中需要涉及到ActionMapper

工作流程
1、客戶端瀏覽器發出HTTP請求.
2、根據web.xml配置,該請求被FilterDispatcher接收
3、根據struts.xml配置,找到需要調用的Action類和方法, 並通過IoC方式,將值注入給Aciton
4、Action調用業務邏輯組件處理業務邏輯,這一步包含表單驗證。
5、Action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面
6、返回HTTP響應到客戶端瀏覽器

『貳』 struts2的action怎麼獲取jsp頁面的表單值

舉個例子你就好明白了。x0dx0a例如,首先,你寫了一個ExampleBean裡面有屬性userName和password都是String類型,然後別忘了寫他們的setter和getter方法,publicvoidsetUserName(StringuserName)等等。x0dx0a然後,寫Action,在Action類中加入成員變數privateStringuName;privateStringuPwd;x0dx0a一定要再寫上他們的Setter和Getter方法。publicvoidsetUName(Strings)等等。x0dx0a然後你在execute方法中創建一個bean對象。如:x0dx0aExampleBeanb=newExampleBean(this.getUName(),this.getUPwd());x0dx0a就可以創建這個bean對象了。x0dx0ax0dx0a具體傳值流程是:首先你訪問jsp頁面,然後比如jsp頁面上有一個登錄框,你可以輸入用戶密碼。x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a這里注意的是標簽中name屬性對應的就是Action裡面的值.name叫uName,提交表單後在Action里就會自動調用setUName("你輸入的值");然後就執行execute方法,你就可以創建bean了。x0dx0a明白過程了嗎?如果不會還可以追問。

『叄』 Struts2中使用重定向防止表單重復提交後怎們在表單中保留已填的信息和表單驗證後的錯誤信息

使用struts2標簽就可以了。例如:
JSP頁面
<form action="url">
<s:textfield name="userName"/>
<input type="submit">
</form>
然後後台Action需要:
private String userName;
//生成setter和getter

這樣如無意外就OK了 你可以測試跳到其它頁面或返回原頁面 。

記得導入標簽信息<%@taglib prefix="s" uri="/struts-tags" %>

『肆』 JSP身份證號碼的正則表達式驗證

這個簡單,在jsp頁面上寫個腳本,首先第一步(你的字元串這里設為str):
用str.length來做參數判斷是否為18位
2.截取字元串前十七個,用正則判斷
3.最後一個再用正則判斷
正則的腳本如下:(首先申明,未經測試)
function isNumber(str){
var rege=/[\d]/g;
var a=str.match(rege);
if(a==null)
alert('必須是數字');
}
function isNumberOrAlpha(str){
var rege=/[\da-zA-Z]/g;
var a=str.match(rege);
if(a==null)
alert('必須是數字或字母');
}
對於正則表達式,你可以在csdn網上找一本《精通正則表達式看》

『伍』 JSP Struts2如何郵箱驗證

直接通過正則表達式驗證即可:
<script language=javascript>
<!--
function checkform() {
if(addform.yx.value != '') {
if(!Isyx(addform.yx.value)){
alert("請輸入正確的郵箱地址!")
addform.yx.focus();
return false;
}
}
}
function Isyx(yx){
var reyx= /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
return(reyx.test(yx));
}
//-->
</script>

閱讀全文

與strutsjsp表單驗證相關的資料

熱點內容
bpn配置文件 瀏覽:932
501完美越獄工具 瀏覽:119
中間夾菜單裡面不能顯示壓縮文件 瀏覽:952
如何指導小學生參加編程比賽 瀏覽:275
物業的招標文件有哪些 瀏覽:452
保存游戲文件名非法或只讀 瀏覽:258
js怎麼做圖片時鍾 瀏覽:451
華為應用裡面有了app說明什麼 瀏覽:801
資料庫中xy是什麼意思 瀏覽:893
u盤打不開提示找不到應用程序 瀏覽:609
網站功能介紹怎麼寫 瀏覽:954
word在試圖打開文件時錯誤 瀏覽:108
主板無vga插槽怎麼連接編程器 瀏覽:521
錄視頻文件在哪裡刪除 瀏覽:881
word2013如何插入文件 瀏覽:233
proe教程百度網盤 瀏覽:197
如何控制遠程linux伺服器 瀏覽:740
it教學app有哪些 瀏覽:34
怎麼在ps摳的圖變成矢量文件 瀏覽:405
口袋妖怪銀魂安卓v11 瀏覽:1

友情鏈接