Struts校验框架Word下载.docx
- 文档编号:18872893
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:8
- 大小:17.84KB
Struts校验框架Word下载.docx
《Struts校验框架Word下载.docx》由会员分享,可在线阅读,更多相关《Struts校验框架Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
login.username=用户名
login.password=密
码
login.login=登
陆
login.reset=重
置
error.required={0}必须输入
error.minlength={0}的长度必须大于{1}
error.maxlength={0}的长度必须小于{1}
其中有{}包含数字的表示参数,在具体应用中,将有别的值替代
iii)
在以前的ecoding.bat批处理文件里面,添加一行转换命令
native2ascii-encodinggb2312
ApplicationResources_temp.propertiesApplicationResources_zh_CN.properties
iv)
运行ecoding.bat命令,生成一个ApplicationResource_zh_CN.properties文件
v)
刷新工程,重新编译
编写校验Form
打开struts-config.xml设计器
在设计器上,点击鼠标右键->
New->
Form,出现界面
vml]-->
并在输入框内输入各自的值,Superclass选择org.apache.struts.validator.validatorForm选项,点击Finish
打开刚刚生成的LoginForm.java文件,添加userName和password两个属性,以及对应的set和get方法,删除自动生成的validate方法和reset方法.代码如下:
/*
*GeneratedbyMyEclipseStruts
*Templatepath:
templates/java/JavaClass.vtl
*/
package.book.demo.struts.form;
importorg.apache.struts.validator.ValidatorForm;
/**
*MyEclipseStruts
*Creationdate:
02-29-2011
*
*XDocletdefinition:
*@struts.formname="
loginForm"
publicclassLoginFormextendsValidatorForm{
privateStringuserName;
privateStringpassword;
/*
*GeneratedMethods
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
publicStringgetUserName(){
returnuserName;
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
编写login.jsp文件
%@pagelanguage="
java"
pageEncoding="
UTF-8"
%>
%@tagliburi="
http:
//struts.apache.org/tags-bean"
prefix="
bean"
%>
//struts.apache.org/tags-html"
html"
//struts.apache.org/tags-logic"
logic"
//struts.apache.org/tags-tiles"
tiles"
html>
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=UTF-8"
>
title>
Inserttitlehere<
/title>
/head>
body>
html:
formaction="
/login.do"
onsubmit="
validateLoginForm(this)"
bean:
messagekey="
login.username"
/>
:
textproperty="
userName"
/html:
text>
br/>
login.password"
passwordproperty="
password"
password>
submit>
login.login"
reset>
login.reset"
form>
javascriptformName="
/body>
/html>
代码注意事项:
粗体部分,是校验框架在jsp中必须的代码
Form里面的<
和<
的property值,必须同LoginForm.java里面添加的两个属性一致
里面的action值,必须同struts-config.xml里面配置的登陆action的path值一致
编写LoginAction.java代码如下:
package.book.demo.struts.action;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
import.book.demo.struts.form.LoginForm;
*
*@struts.actionpath="
/login"
name="
input="
/login.jsp"
scope="
request"
validate="
true"
*@struts.action-forwardname="
error"
path="
success"
/userList.do"
publicclassLoginActionextendsAction{
*Methodexecute
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@returnActionForward
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
System.out.println("
***************"
);
Stringpath="
;
LoginFormloginForm=(LoginForm)form;
//TODOAuto-generatedmethodstub
StringuserName=loginForm.getUserName();
Stringpassword=loginForm.getPassword();
if(userName!
=null&
&
password!
password.length()>
6&
password.length()<
9){
path="
returnmapping.findForward(path);
配置struts-config.xml
在struts-config.xml里面添加一个loginaction如下
action
attribute="
type="
org.springframework.web.struts.DelegatingActionProxy"
forwardname="
/>
/action>
在struts-config.xml中,添加一个校验插件如下
plug-inclassName="
org.apache.struts.validator.ValidatorPlugIn"
set-propertyproperty="
pathnames"
value="
/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
/plug-in>
编写loginForm的校验规则
确定WEB-INF目录下是否有validator-rules.xml,如果没有,请将demo工程里面WEB-INF目录下的validator.xml文件,copy到新工程
在WEB-INF目录下,新建一个validation.xml文件,如果以前存在,就在代码中添加loginForm的校验规则,代码如下:
?
xmlversion="
1.0"
encoding="
DOCTYPEform-validationPUBLIC"
-//ApacheSoftwareFoundation//DTDCommonsValidatorRulesConfiguration1.1.3//EN"
"
//jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"
form-validation>
formset>
formname="
fieldproperty="
depends="
required"
msgname="
key="
error.required"
arg0key="
/field>
required,minlength,maxlength"
--msg标签指定消息
name指定对应required校验器
key指定提示信息的key
arg?
指定提示消息里面的替代
-->
minlength"
error.minlength"
arg1key="
${var:
minlength}"
resource="
false"
var>
var-name>
minlength<
/var-name>
var-value>
6<
/var-value>
/var>
maxlength"
error.maxlength"
maxlength}"
maxlength<
9<
/form>
/formset>
/form-validation>
注意事项:
a)
里面的name属性的值,必须同需要校验的form,在struts-config.xml里面定义的form的name值一样
b)
在src目录下的applicationContext.xml文件里面,添加<
beanname="
class="
.book.demo.struts.action.LoginAction"
注册一个新的bean---LoginAction
重新编译工程,发布到web容器,访问login.jsp,就可以演示输入值的校验了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts 校验 框架