struts2里this.addFieldError怎么用?

Action里validate()方法publicvoidvalidate(){Stringusername=vo.getUsername();Stringpasswor... Action里validate()方法
public void validate() {
String username = vo.getUsername();
String password = vo.getPassword();
if(username==null || username.trim().length()==0) {
this.addFieldError("vo.username", "用户名不能为空");
}
if(password==null || password.trim().length()==0) {
this.addFieldError("vo.password", "密码不能为空");
}

}
验证为空,返回到input,然后我再次提交,填写了数据,但还是提示为空,还是返回input,怎么回事?
页面文本框名字是用的vo.username
第一次提交,没填写数据,验证为空,跳转到input,再次提交时填写了数据,能接收到数据,但还是提交到input了,我怀疑是this.addFieldError的问题,第一次提交为空所以执行了设置FieldError,第二次提交时它还是有值的,第一次的值没有清空
展开
 我来答
rpfax31
2011-01-04 · TA获得超过3200个赞
知道小有建树答主
回答量:2049
采纳率:33%
帮助的人:947万
展开全部
希望我说的这么一点东西能给楼主一定的帮助
我记得在学转换器 的时候,有一个框架提供的转换,另外还有自己设置的转换方式
不知道楼主是用的是哪个
另外估计楼主应该使自己配置的吧,
抛出的是TypeConversionExceptio的异常吧
下面的是在学的时候,写的,现在有点既不清楚了
沾上了
看看能否帮助你,要是没什么用,那么就希望吸引来更多的大侠们来共同解决
private Circle parseCircle(String userString) throws TypeConversionException{
Circle circle = null;
int radiusIndex = userString.indexOf("r") + 1;
if(!userString.startsWith("C:r"))
throw new TypeConversionException("Invalid Syntax");
int radius;
try{
radius = Integer.parseInt(userString.substring(radiusIndex));
}catch(NumberFormatException e){
throw new TypeConversionException("Invalid Integer Value for Radius");
}
circle = new Circle();
circle.setRadius(radius);
return circle;
}
xycdgc
2010-12-27 · 超过20用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:36.9万
展开全部
检查下表单中文本框的名字和action中属性是否对应,是否少了相应的set、get方法
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a2d059a
2011-01-02 · TA获得超过120个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:122万
展开全部
public void validate() {
Action类里的所有方法都有个String类型返回值。
你这个不是返回到input,而是根本没有返回到任何页面,一直停留在当前页面。
至少是个public String validate() {}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
penghaiqinling
2010-12-27 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:55.9万
展开全部
Struts最重要的 就是execute() 这个方法你用它就必须返回 return
public String execute() throws Exception {

return “ ”;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vinnchen
2010-12-27
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
如果在jsp页面用的struts标签的话,是会默认带出本次的值的。
String username = vo.getUsername();
我觉得有点多余,在struts框架,会自动调用get、set方法。
password.trim().我没有用过,应该password.length就可以吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式