struts为何不执行客户端验证代码?

internetibm 2005-03-08 11:15:46
HelloForm.java


package com.struts.form;

import javax.servlet.http.HttpServletRequest;

//import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.ValidatorActionForm;

/**
* MyEclipse Struts
* Creation date: 03-07-2005
*
* XDoclet definition:
* @struts:form name="helloForm"
*/
public class HelloForm extends ValidatorActionForm {

// --------------------------------------------------------- Instance Variables

/** password property */
private String password;

/** username property */
private String username;

// --------------------------------------------------------- Methods

/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
/* public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {

throw new UnsupportedOperationException(
"Generated method 'validate(...)' not implemented.");
}
*/
/**
* Method reset
* @param mapping
* @param request
*/
public HelloForm()
{
super();
}

public void reset(ActionMapping mapping, HttpServletRequest request) {

this.username=null;
this.password=null;
}

/**
* Returns the password.
* @return String
*/
public String getPassword() {
return password;
}

/**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) {
this.password = password;
}

/**
* Returns the username.
* @return String
*/
public String getUsername() {
return username;
}

/**
* Set the username.
* @param username The username to set
*/
public void setUsername(String username) {
this.username = username;
}

}



HelloAction.java

//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.3/xslt/JavaClass.xsl

package com.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.struts.form.HelloForm;

/**
* MyEclipse Struts
* Creation date: 03-07-2005
*
* XDoclet definition:
* @struts:action path="/hello" name="helloForm" scope="request" validate="true"
* @struts:action-forward name="false" path="/form/false.jsp"
* @struts:action-forward name="sucess" path="/form/sucess.jsp"
*/
public class HelloAction extends Action {

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
HelloForm helloForm = (HelloForm) form;
if (("001").equals(helloForm.getUsername()))
{
return (mapping.findForward("success"));
}
else
{
return (mapping.findForward("false"));
}

}

}

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="helloForm" type="com.struts.form.HelloForm" />

</form-beans>

<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="helloForm"
name="helloForm"
path="/hello"
scope="request"
type="com.struts.action.HelloAction" validate="true" input="/hello.jsp">
<forward name="false" path="/form/false.jsp" />
<forward name="sucess" path="/form/sucess.jsp" />
</action>

</action-mappings>

<message-resources parameter="com.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="helloForm">
<field property="username" depends="required,mask,maxlength">
<arg key="helloForm.username.displayname" position="0"/>
<arg name="maxlength" key="${var:maxlength}" resource="false" position="1"/>
<var>
<var-name>mask</var-name>
<var-value>^\w+$</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>

<field property="password" depends="required,maxlength">
<arg key="helloForm.password.displayname" />
<arg name="maxlength" key="${var:maxlength}" resource="false" position="1"/>
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>
</form>
</formset>
</form-validation>


web.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>


hello.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ 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>JSP for helloForm form</title>
</head>
<body>
<html:form action="/hello.do" onsubmit="return validateHelloForm(this);">
<table>
<tr><td><bean:message key="helloForm.username.displayname"/>: </td><td><html:text property="username"/><html:errors property="username"/></td></tr>
<tr><td><bean:message key="helloForm.password.displayname"/>:</td><td><html:password property="password"/><html:errors property="password"/></td></tr>
<tr><td colspan=2 align=center><html:submit/><html:cancel/></td></tr>
</html:form>
<html:javascript formName="helloForm"/>
</body>


</html>
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ytnice 2005-03-10
  • 打赏
  • 举报
回复
up
jenry_leon 2005-03-09
  • 打赏
  • 举报
回复
/* public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {

throw new UnsupportedOperationException(
"Generated method 'validate(...)' not implemented.");
}
*/
不要屏蔽掉,让他的返回值为null
shan1119 2005-03-08
  • 打赏
  • 举报
回复
<html:form action="/hello.do" onsubmit="return validateHelloForm(this);">
to:
<form action="/hello.do" onsubmit="return validateHelloForm(this);">
internetibm 2005-03-08
  • 打赏
  • 举报
回复
有没有人知道啊???????????????
internetibm 2005-03-08
  • 打赏
  • 举报
回复
我用的上eclipse3.0+myeclipse3.8.3建的是struts1.2
不知道是不是只能建struts1.1的原因?

帮帮我吧,神啊!

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧