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{}
}
} 展开
public class UserAction extends ActionSupport
{
String username;
String password;
@Action("login")
@Override
public String execute() throws Exception {}
String oldpassword;
public String changePassword() throws Exception{}
}
} 展开
展开全部
校验一: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的变量的
校验二:手动校验:
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的变量的
展开全部
另外编写一个字符串的判空的类,比如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方法不想验证就不写就行了。
是你想要的答案吗?
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方法不想验证就不写就行了。
是你想要的答案吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在validate 方法中吧、、、在调用excute 方法之前执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询