Struts validator框架问题,请高手指点!!!

sandywin1982 2007-05-28 02:13:21
我的validation.xml

<form-validation>
<global>
<constant>
<constant-name>txtUID</constant-name>
<constant-value>^\d{8}\d*$</constant-value>
</constant>

</global>
<formset>
<form name="loginForm">
<field property="txtUID" depends="required">
<msg key="required" name="errors.required"></msg>
<arg0 key="prompt.username" />
<!--arg1 name="minlength" key="${var:minlength}" resource="false" />

<var>
<var-name>minlength</var-name>
<var-value>10</var-value>
</var-->
</field>
<field property="txtPwd" depends="required">
<arg0 key="prompt.password" />
</field>
</form>
</formset>
</form-validation>


我的jsp

<td width="104">用户帐号:</td>
<td width="270"><input name="txtUID" type="text" value="<c:out value="${uid}"/>" readonly="true"/><html:errors property="txtUID"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="text" name="txtPwd"/><html:errors property="txtPwd"/></td>
</tr>

我的struts-config.xml

<form-beans >
<form-bean name="regForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="txtUID" type="java.lang.Long"/>
<form-property name="txtPwd" type="java.lang.String"/>
</form-bean>
</form-beans >


<global-forwards>
<forward name="login" path="/lg"/>
</global-forwards>
<action-mappings >
<action
name="regForm"
input="/WEB-INF/jsp/register.jsp"
scope="request"
path="/rg"
parameter="m"
validate="true"
type="com.hongmedio.struts.action.RegisterAction">
<forward name="rg1" path="/WEB-INF/jsp/register.jsp"/>
<forward name="success" path="/WEB-INF/jsp/loginSuccess.jsp"/>
</action>

</action-mappings >

<message-resources parameter="com.hongmedio.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>


我的action文件

ServletContext myContext = getServlet().getServletContext();
ApplicationContext ap = WebApplicationContextUtils.getWebApplicationContext(myContext);
ProfileService ps=(ProfileService)ap.getBean("Adv.profile");
DynaValidatorForm rf=(DynaValidatorForm)form;
long uid=(Long)rf.get("txtUID");
String pwd=(String)rf.get("txtPwd");
System.out.println(uid+" -------------------------------- "+pwd);

request.setAttribute("adm", 1);
return mapping.findForward("success");

为什么不显示错误信息???
...全文
228 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
likgui 2007-05-29
  • 打赏
  • 举报
回复
关注
leonguo_1986 2007-05-28
  • 打赏
  • 举报
回复
errors .add(ActionErrors.GLOBAL_MESSAGE, new ActionError("你写的Key值"));
leonguo_1986 2007-05-28
  • 打赏
  • 举报
回复
1、validator可以用<bean:message key="" >的
2、在.properites里写key-value映射的消息
3、在ActionForm里写:
pubilc ActionErrors vaildate(ActionMapping mapping,HttpServletRequest request,
HttpServletResponse response) {
ActionErrors errors = new ActionErrors ();
//写条件判断

errors .add(ActionErrors.FLOBAL_MESSAGE, new ActionError("你写的Key值"));
return errors;
}

67,550

社区成员

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

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