struts2输入验证问题
action实现了ModelDriven接口,里有一个实体类属性,在validation.xml文件要验证实体类的属性,该怎么填啊,<fieldname="实体类.属性名...
action实现了ModelDriven接口 ,里有一个实体类属性,在validation.xml文件要验证实体类的属性,该怎么填啊,<field name="实体类.属性名">?试过了好像不行,求高手指点下!
展开
3个回答
展开全部
假设这样 action名叫UserAction,里面有一个User类型的属性user.你的验证文件名就应该叫UserAction-validation.xml 里面的<field name="user.name"> user.name中的user是属性名,不要写成类名.这只是一种方式 如果你的User在多个地方用到 且验证方式一样 你也可以User-validation.xml这样然后用 visitor验证规则 或者指定一个action名 User-actionName-validation.xml这样,这样就把User的验证规则应该到相应名字的action上了.孙鑫的struts2深入详解 讲的很详细,你可以看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
网易云信
2023-12-06 广告
2023-12-06 广告
信令SDK是一种软件开发工具包,旨在帮助开发者在应用程序中实现信令协议的通信功能。它主要提供了一系列函数、协议和工具,用于处理信令消息的生成、解析、传输和存储等操作。通过使用信令SDK,开发者可以更快速、便捷地实现信令通信功能,提高应用程序...
点击进入详情页
本回答由网易云信提供
展开全部
name位置直接写“属性名”的,这和用不用ModelDriven接口没关系。
如果用属性名还不行,检查一下:
1,每个方法进行不同的验证,要这样命名,LoginAction-alias-validation.xml,alias就是struts.xml中action的名字
2,在struts.xml中就应该分别都配置action的名字是否错误。
3,validation文件大致是这样的,
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<message>用户名最少${minLength}位长度</message>
</field-validator>
</field>
</validators>
再检查一下action类里面是否有get/set方法,比如setName和getName这两个方法是对应name属性的。
如果用属性名还不行,检查一下:
1,每个方法进行不同的验证,要这样命名,LoginAction-alias-validation.xml,alias就是struts.xml中action的名字
2,在struts.xml中就应该分别都配置action的名字是否错误。
3,validation文件大致是这样的,
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<message>用户名最少${minLength}位长度</message>
</field-validator>
</field>
</validators>
再检查一下action类里面是否有get/set方法,比如setName和getName这两个方法是对应name属性的。
更多追问追答
追问
action是这样的:
public class UserAction extends ActionSupport implements ModelDriven{
private User user = new User();
@Override
public User getModel() {
// TODO Auto-generated method stub
return null;
}
}
class User{
name;
age;
}
配置文件中要这样填?
还是
追答
用name="name"
你检查一下User类里面的name和age是不是get/set都有,
另外你的xml是不是叫UserAction-validation.xml。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<field name="name">
改为
<field name="user.name">
改为
<field name="user.name">
追问
我在题目中就说了用name="user.name"不行,后来又去试了下也没得行
追答
你的user有set、get方法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询