myeclipse+struts登录界面 之 实现客户端验证

 

为省事,直接用myeclipse的struts-config.xml的design界面生成网页。

方法见http://www.blogjava.net/hexuzhong/archive/2005/07/06/7218.html

即可实现简单的登录页面。


关键在于客户端验证


1、现在我们要把登录框写到index.jsp首页上。修改struts-config.xml,只需把input改成index.jsp即可。

 


 

(注意,我建立的loginForm,不是上博客中的userloginForm)


 

2、将validate设为可用。

2.1 在struts-config中加一句  validate="true" ,然后在</struts-config>前加入如下内容:

 

 

2.2 然后再webINF下新建一个xml文件,validation.xml,内容如下:

 

 

(注意,我在index中创建的form内的输入框为username,password,与上述博客所说也不同)

3、修改/WEB-INF/classes/com/yourcompany/struts/ApplicationResources.properties。加入如下内容:

 

 

 

4、修改主页form框。在<html:form 前加入一行:

<html:javascript formName="loginForm"  staticJavascript="true"/>

(注意,formName要与struts-config中form-bean定义的name相同)

在form中加入onsubmit:

 

 


(注意,validateLoginForm(this)中LoginForm也要与form-bean定义的name相同,只是第一个字母要大写)



另附:struts validate验证器使用指南 

http://dev.csdn.net/htmls/59/59114.html


如果username为空,点击登录提交之后,页面会向validateLoginForm提交验证,

在validation.xml中,发现loginForm的username定义的属性是required,

 ~!传递arg参数为loginForm.error.username给ApplicationResources.properties,

在ApplicationResources.properties中查找,loginForm.error.username对应的语句是please enter your username。

 ~!传递required给validator-rules.xml,

在rules中查找,发现对应的消息为errors.required,

 ~!传递消息errors.required给ApplicationResources.properties,

在ApplicationResources.properties查找,发现对应的语句是errors.required={0} is required. 


弹窗显示”please enter your username:is required。“

 

 

 

 

 

 

 

在这个简单的应用程序背后发生了什么?

 

当你从浏览器输入地址:http://localhost:8088/Strutsweb/login.jsp
Tomcat将按通常情况来处理这个JSP并返回浏览器
Tomcat将会根据web.xml的配置,将这个请求发送给相应的org.apache.struts.action.ActionServlet这个类
Ø
然后ActionServlet根据struts-config.xml的配置信息,
调用LoginAction对象去处理这个请求,
在此之前,它会将页面表单的请求数据封装到LoginActionForm对象中,
并传递给LoginAction
Ø
LoginAction返回一个ActionForward对象,包含了将要转向的路径信息
Ø
调用相应的页面去执行响应
ActionServlet根据这个ActionForward对象所包含的路径信息,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值