struts validator 框架 与 dispatchAction 连用 --寻求解决方案

dushuchen 2009-03-08 01:35:35
jsp文件:
<form action="registIn.do?method=login" method="post">
姓名: <input type="text" name="name"> <br>
密码: <input type="password" name="password"> <br>

<input type="submit" value="提交">
</form>
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
<form action="registIn.do?method=regist" method="post">
姓名: <input type="text" name="name"> <br>
密码: <input type="password" name="password"> <br>
专业: <input type="text" name="major"> <br>
学校: <input type="text" name="school"> <br>
<input type="submit" value="提交">
</form>
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
struts配置文件:
<action path="/registIn"
parameter="method"
name="studentForm"
validate="true"
input="/pages/validateRegist.jsp"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
>
<forward name="success" path="/pages/success.jsp"/>
</action>
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
DynaValidatorForm:
<form-bean name="studentForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="name" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
<form-property name="major" type="java.lang.String"/>
<form-property name="school" type="java.lang.String"/>
</form-bean>
如上所示:
login和regist操作都会将表单提交到dispatchAction中,并由相应方法负责处理
若验证出错会转到validateRegist.jsp页面
但是这个validateRegist.jsp怎么设置呢?
注册处理的错误包括name, password, major, school
登录只处理name,password
相应的处理页面如下:
注册处理:
<form action="registIn.do?method=regist" method="post">
姓名: <input type="text" name="name"> <br>
<html:errors property="name"/> <br>
密码: <input type="password" name="password"> <br>
<html:errors property="password"/> <br>
专业: <input type="text" name="major"> <br>
<html:errors property="major"/> <br>
学校: <input type="text" name="school"> <br>
<html:errors property="school"/> <br>
<input type="submit" value="提交">
</form>
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
登录处理:
<form action="registIn.do?method=login" method="post">
姓名: <input type="text" name="name"> <br>
<html:errors property="name"/> <br>
密码: <input type="password" name="password"> <br>
<html:errors property="password"/> <br>
<input type="submit" value="提交">
</form>
问题在于,出错了返回的相应页面是由input属性指定的,只有一个
然而这里需要两个页面分别处理regist和login产生的错误
我该怎么办呢?
是不是这个方法本身就不妥?
或是有更好的解决方案?
请各位指教
...全文
47 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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