struts2 表单验证问题

假设有个UserAction,我想让execute执行时验证username和password非空,而不验证剩下的,changePassword执行时不验证前两个,这个怎... 假设有个UserAction,我想让execute执行时验证username和password非空,而不验证剩下的,changePassword执行时不验证前两个,这个怎么实现,最好用注解
public class UserAction extends ActionSupport

{
String username;
String password;
@Action("login")
@Override
public String execute() throws Exception {}
String oldpassword;
public String changePassword() throws Exception{}

}

}
展开
 我来答
死亡幽谷
2012-09-14 · TA获得超过248个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:135万
展开全部
校验一:javascript校验
校验二:手动校验:
1,在方法里获取植,判断值是不是为空
2,validate方法进行验证
3,validateXXX方法验证,即validateExecute()里面判断验证
校验三:框架验证
1,validate.xml文件验证
2,注解验证
在你的username的setUsername()上面写上
@RequiredStringValidator(
type=ValidatorType.FIELD,
key="error.username.required",
message="${getText('username')}is required",
shortCircuit=ture
);
@StringLengthFieldValidator(
//自己再查查吧
)
我觉得你只能手动校验,或者选择validateExecute()种方法校验
因为注解会全部校验这个action里你注解的有set的变量的
你的城府
2012-09-14 · TA获得超过349个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:66.5万
展开全部
另外编写一个字符串的判空的类,比如StringUtil,可以这样写:
public class StringUtil{
public static boolean isFilled(String str){
if(str == null || str.length() < 1){
return false;
}else{
return true;

}
}

}

然后再excute方法里面想要验证username和password,可以这样写:if(StringUtil.isFilled(username) && StringUtil.isFilled(password)){
//不为空时的情况

}

下面changePassword方法不想验证就不写就行了。

是你想要的答案吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8ec38a78d
2012-09-14
知道答主
回答量:59
采纳率:0%
帮助的人:18万
展开全部
在validate 方法中吧、、、在调用excute 方法之前执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式