<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm" >
<form-property name="userName" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean>
</form-beans> <global-exceptions />
<global-forwards>
<forward name="error" path="error.jsp"></forward>
</global-forwards>
<action-mappings >
<action
attribute="loginForm"
input="/index.jsp"
name="loginForm"
path="/index"
validate="true"
scope="request"
type="bbs.struts.action.LoginAction">
<set-property property="cancellable" value="true"/>
<forward name="success" path="/success.jsp" />
<forward name="DbFail" path="/dbfail.jsp" />
<forward name="LoginFail" path="/loginfail.jsp" />
<forward name="regist" path="/regist.jsp" />
</action>
</action-mappings>
<message-resources parameter="bbs.struts.ApplicationResources" />
<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>validation.xml:
<form-validation>
<formset >
<form name="loginForm" >
<filed property="userName" depends="required" >
<msg name="required" key="login.userName.missing" />
</filed>
</form>
</formset>
</form-validation>LoginForm.java:
public class LoginForm extends ValidatorActionForm
{
private String password;
private String userName; public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
}}
当我提交的时候根本就没有验证,直接去执行Action的execute方法了。
<data-sources />
<form-beans >
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm" >
<form-property name="userName" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean>
</form-beans> <global-exceptions />
<global-forwards>
<forward name="error" path="error.jsp"></forward>
</global-forwards>
<action-mappings >
<action
attribute="loginForm"
input="/index.jsp"
name="loginForm"
path="/index"
validate="true"
scope="request"
type="bbs.struts.action.LoginAction">
<set-property property="cancellable" value="true"/>
<forward name="success" path="/success.jsp" />
<forward name="DbFail" path="/dbfail.jsp" />
<forward name="LoginFail" path="/loginfail.jsp" />
<forward name="regist" path="/regist.jsp" />
</action>
</action-mappings>
<message-resources parameter="bbs.struts.ApplicationResources" />
<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>validation.xml:
<form-validation>
<formset >
<form name="loginForm" >
<filed property="userName" depends="required" >
<msg name="required" key="login.userName.missing" />
</filed>
</form>
</formset>
</form-validation>LoginForm.java:
public class LoginForm extends ValidatorActionForm
{
private String password;
private String userName; public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
}}
当我提交的时候根本就没有验证,直接去执行Action的execute方法了。
LoginForm.java:
public class LoginForm extends ValidatorActionForm
{
private String password;
private String userName; public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} }
<table>
<html:form action="/index">
<tr><td width="52">用户名</td><td><html:text property="userName"/><html:errors property="userName"/></td></tr>
<tr><td>密码</td> <td><html:password property="password"/><html:errors property="password"/></td></tr>
<tr><td><html:submit>登录</html:submit></td>
<td><html:cancel>注册</html:cancel></td></tr>
</html:form>
</table>
运行没有报错,只是不验证,直接去执行Action的execute方法了。
karlpan01 说我的validation.xml写的不太对怎么改?
按burningice44 说的改了下,也不行。
<html:form action="/index" onsubmit="return validateLoginForm(this);">
javax.servlet.jsp.JspException: No form found under 'loginForm' in locale 'zh_CN'
org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript(JavascriptValidatorTag.java:384)
org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptValidatorTag.java:349)
这个loginForm在struts-config.xml 与validation.xml里面都有配置为什么又说找不到呢??
初学 struts谢谢来帮我解决下。
以后要小心了。