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");

为什么不显示错误信息???
...全文
196 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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;
}
回复
相关推荐
综教楼后的那个坑用双向链表实现 描述   在 LIT 综教楼后有一个深坑,关于这个坑的来历,有很多种不同的说法。其中一种说法是,在很多年以前,这个坑就已经在那里了。这种说法也被大多数人认可,这是因为该坑有一种特别的结构,想要人工建造是有相当困难的。   从横截面图来看,坑底成阶梯状,由从左至右的 1..N 个的平面构成(其中 1 ≤ N ≤ 100,000),如图:    *            * :    *            * :    *            * 8    *    **      * 7    *    **      * 6    *    **      * 5    *    ********* 4 <- 高度    *    ********* 3    ************** 2    ************** 1 平面 |  1  |2|   3    | 每个平面 i 可以用两个数字来描述,即它的宽度 Wi 和高度 Hi,其中 1 ≤ Wi ≤ 1,000、1 ≤ Hi ≤ 1,000,000,而这个坑最特别的地方在于坑底每个平面的高度都是不同的。每到夏天,雨水会把坑填满,而在其它的季节,则需要通过人工灌水的方式把坑填满。灌水点设在坑底位置最低的那个平面,每分钟灌水量为一个单位(即高度和宽度均为 1)。随着水位的增长,水自然会向其它平面扩散,当水将某平面覆盖且水高达到一个单位时,就认为该平面被水覆盖了。   请你计算每个平面被水覆盖的时间。    灌水 水满后自动扩散 | | * | * * | * * * * V * * V * * * * * * .... * *~~~~~~~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~**~~~~~~* *~~~~**~~~~~~* * ********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* ************** ************** ************** ************** ************** **************    4 分钟后    26 分钟后        50 分钟后    平面 1 被水覆盖     平面 3 被水覆盖    平面 2 被水覆盖输入   输入的第一行是一个整数 N,表示平面的数量。从第二行开始的 N 行上分别有两个整数,分别表示平面的宽度和高度。 输出   输出每个平面被水覆盖的时间。
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2007-05-28 02:13
社区公告
暂无公告