为省事,直接用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。“