在《Struts
服務端驗證
下面將給出一個例子來演示如何使用Struts
【第
packageaction;
importcom
publicclassNewValidateActionextendsActionSupport
{
privateStringmsg; //必須輸入
privateintage; //在
publicStringgetMsg()
{
returnmsg;
}
publicvoidsetMsg(Stringmsg)
{
this
}
publicintgetAge()
{
returnage;
}
publicvoidsetAge(intage)
{
this
}
}
下面我們來驗證msg和age屬性
【第
如下
<?xmlversion=
<!DOCTYPEstrutsPUBLIC
<struts>
<packagename=
<actionname=
<resultname=
<resultname=
</action>
</package>
</struts>
【第
這是一個基於XML的配置文件
<ActionClassName>
<ActionClassName>
其中<ActionAliasName>就是struts
<?xmlversion=
<!DOCTYPEvalidatorsPUBLIC
<validators>
<fieldname=
<field
<message>請輸入信息</message>
</field
</field>
<fieldname=
<field
<paramname=
<paramname=
<message>
必須在
</message>
</field
</field>
</validators>
這個文件使用了兩個規則
【第
在Web根目錄中建立一個validate_form
<%@pagelanguage=
<%@taglibprefix=
<linkrel=
<html>
<head>
<title>驗證數據</title>
</head>
<body>
<s:formaction=
<s:textfieldname=
<s:textfieldname=
<s:submit/>
</s:form>
</body>
</html>
大家要注意一下
<s:form action=
</s:form>
在上面的程序中還使用了一個styles
需要在Web根目錄中建立一個styles目錄
假設Web工程的上下文路徑是validation
顯示結果如圖
圖
客戶端驗證
在Struts
驗證嵌套屬性
有一類特殊的屬性
packagedata;
publicclassUser
{
privateStringname;
privateintage;
publicStringgetName()
{
returnname;
}
publicvoidsetName(Stringname)
{
this
}
publicintgetAge()
{
returnage;
}
publicvoidsetAge(intage)
{
this
}
}
在NewValidateAction類中加一個user屬性
packageaction;
importcom
importdata
publicclassNewValidateActionextendsActionSupport
{
privateStringmsg;
privateintage;
privateUseruser;
publicStringgetMsg()
{
returnmsg;
}
publicvoidsetMsg(Stringmsg)
{
this
}
publicintgetAge()
{
returnage;
}
publicvoidsetAge(intage)
{
this
}
publicUsergetUser()
{
returnuser;
}
publicvoidsetUser(Useruser)
{
this
}
}
如果要驗證NewValidateAction中的user屬性
首先在NewValidateAction
<?xmlversion=
<!DOCTYPEvalidatorsPUBLIC
<validators>
……
<fieldname=
<field
<paramname=
<paramname=
<message>User:</message>
</field
</field>
</validators>
其中context參數將作為驗證User類屬性的文件名的一部分
User
<?xmlversion=
<!DOCTYPEvalidatorsPUBLIC
<validators>
<fieldname=
<field
<message>請輸入name</message>
</field
</field>
<fieldname=
<field
<paramname=
<paramname=
<message>
必須在
</message>
</field
</field>
</validators>
下面修改validate_form
<s:formvalidate=
<s:textfieldname=
<s:textfieldname=
<s:textfieldname=
<s:textfieldname=
<s:submit/>
</s:form>
大家可以看到
現在重新訪問
Java開源技術免費提供,內容來源於互聯網,本文歸原作者所有。