看 Struts 1.1 帮助 3.3.5节
1. ActionForm bean 必须扩展ValidatorForm.
2. --客户端验证,略
3. 定义验证规则.一般是 Validation.xml
例:
<form name="registrationForm"> <field property="fromAddress"
depends="required,email">
<arg0 key="prompt.fromAddress"/>
</field> <field property="fullName"
depends="required">
<arg0 key="prompt.fullName"/>
</field> <field property="replyToAddress"
depends="email">
<arg0 key="prompt.replyToAddress"/>
</field> <field property="username"
depends="required">
<arg0 key="prompt.username"/>
</field> </form>
4.必须在struts-config.xml中增加以下内容
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" />
</plug-in>
请注意:你的资源文件,例ApplicationResource.properties里必须包括这里所需要的资源.
如prompt.fromAddress等.这样配置后,
你的Form就可以进行服务器端验证了
1. ActionForm bean 必须扩展ValidatorForm.
2. --客户端验证,略
3. 定义验证规则.一般是 Validation.xml
例:
<form name="registrationForm"> <field property="fromAddress"
depends="required,email">
<arg0 key="prompt.fromAddress"/>
</field> <field property="fullName"
depends="required">
<arg0 key="prompt.fullName"/>
</field> <field property="replyToAddress"
depends="email">
<arg0 key="prompt.replyToAddress"/>
</field> <field property="username"
depends="required">
<arg0 key="prompt.username"/>
</field> </form>
4.必须在struts-config.xml中增加以下内容
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" />
</plug-in>
请注意:你的资源文件,例ApplicationResource.properties里必须包括这里所需要的资源.
如prompt.fromAddress等.这样配置后,
你的Form就可以进行服务器端验证了
解决方案 »
- frame继承框架中,比如注销登录跳转到login页面的问题
- 来者给分。。。问个小问题。。请大家帮忙。。
- 请教java类型转换问题
- 如何通过css控制div在页面显示的大小
- 请问 JSP 做的程序为什么开始运行是正常的 运行一会就不能运行了 需要重起TOMCAT
- javamail中怎样中断正在发送的邮件?
- 先安装了JDK1.5和Tomcat5.5,然后又安装了JbuilderX,tomcat就不能启动了
- JAVA程序员联盟(南京)
- 基于html的三层结构好还是基于applet的三层结构好?
- [Java Web] JSP / Servlet 能【FORWARD】到静态页面吗?
- Struts中ActionForm的一个问题讨论!
- 有状态会话bean如何保存其中的变量?其它方法又如何调用呢?
你好!你说的“帮助”在哪里可以找到?
你说的这四条我都做到了,因为标签产生的JAVASRIPT验证已经可行。但就是去掉标签后,按理应该进行服务器段验证,这一点还没有执行!
**************************************************
LoginForm.javaimport org.apache.struts.validator.*;
import org.apache.struts.action.*;
import javax.servlet.http.*;public class LoginForm extends ValidatorForm {
private String name;
private String password;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
} public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
name = null;
password = null;
}
}
*****************************************************************
LoginAction.javaimport org.apache.struts.action.*;
import javax.servlet.http.*;public class LoginAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception{
System.out.println("Do it now!"); return (actionMapping.findForward("success")); }
}
**************************************************
login.jsp<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><html>
<head>
<title>
login
</title>
</head>
<body bgcolor="#ffffff">
<logic:messagesPresent>
<bean:message key="errors.header"/>
<ul>
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
</ul><hr>
</logic:messagesPresent><html:form action="/loginAction.do" method="POST" >
用户名:<html:text property="name"/><br>
密码:<html:password property="password"/><br>
<html:submit property="submit">GO</html:submit></<br>
<html:reset value ="Reset"/>
</html:form>
</body>
</html>*****************************************
validator-rules.xml略*******************************************
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"><form-validation><formset >
<form name="LoginForm">
<field property="name" depends="required,minlength">
<arg0 key="longin.name" />
<arg1 name="minlength" key="${var:minlength}" resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>5</var-value>
</var>
</field>
<field property="password" depends="required,maxlength">
<arg0 key="longin.password"/>
<arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>13</var-value>
</var>
</field>
</form>
</formset>
</form-validation>*********************************************************************
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="strutsdemo33.LoginForm" />
</form-beans>
<action-mappings>
<action name="loginForm" type="strutsdemo33.LoginAction" validate="true" input="/login.jsp" scope="request" path="/loginAction" >
<forward name="success" path="/loginOk.jsp" />
</action>
</action-mappings><!-- ========== Message Resources Definitions =========================== -->
<message-resources parameter="ApplicationResources"/>
<!-- ========== Plug Ins Configuration ================================= -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in></struts-config>*************************************************************
ApplicationResources.propertieserrors.required={0} \u4e0d\u53ef\u4e3a\u7a7a.
errors.minlength={0} cannot be less than {1} characters.
errors.maxlength={0} cannot be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is not a valid e-mail address.
longin.name=\u7528\u6237\u540d
longin.password=\u5bc6\u7801errors.footer=</ul><hr>
errors.header=<h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding:<ul>
<html:form action="/loginAction.do" method="POST"
onsubmit="return validateLoginForm(this);"><html:submit property="submit">GO</html:submit>
改为:<html:submit property="submit"onclick="bCance=false;">GO</html:submit>
另,在jsp的最后加上:
<html:javascript formName="loginForm"
dynamicJavascript="true"
staticJavascript="true"/>
2664 [main] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true2664 [main] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.action.ActionResources', returnNull=true3395 [main] INFO util.PropertyMessageResources - Initializing, config='ApplicationResources', returnNull=true3425 [main] INFO validator.ValidatorPlugIn - Loading validation rules file from '/WEB-INF/validator-rules.xml'3576 [main] INFO validator.ValidatorPlugIn - Loading validation rules file from '/WEB-INF/validation.xml'3916 [main] INFO http11.Http11Protocol - Starting Coyote HTTP/1.1 on port 80834447 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true4457 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true4597 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.logic.LocalStrings', returnNull=true4607 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true4657 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true4657 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true4707 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true4717 [Thread-3] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
该怎么解决啊?