bean和jsf验证注释iniside托管bean与实体bean



我是JSF的新手,对一些基本问题不确定。

我发现了一些定义输入字段验证的方法,但我不确定哪种方法是正确的

我使用的是bean验证和使用ExtVal的jsf验证。

我应该在实体bean中使用类似@Size , @Length的验证注释,还是应该在托管bean中?每个选项的区别是什么?

这个问题让我想到了一个更基本的问题,我仍然不太明白——我有一个带有字段及其setter和getter的实体bean,还有一个托管bean和一个xhtml文件,该文件的表单显示输入中的文件
我应该在托管bean中用getter和setter定义相同的字段吗?当我从xhtml文件接近它们时,我用MBname.FiledName?还是最好不要在托管bean中再次创建字段,并通过调用MBname.details.FiledName(当细节返回对象时)从xhtml中逼近它们?再说一遍,每种方法的区别是什么?

提前感谢。

我应该在实体bean中使用像@Size、@Length这样的验证注释,还是应该在托管bean中?每个选项的区别是什么

取决于具体的功能要求。关键是:验证应具有多大的可重用性?如果在实体级别进行配置,那么对于JSF之外的所有框架都是可重用的。如果在JSF级别进行配置,那么对于碰巧使用同一实体的JSF以外的框架来说,这是不可重用的。


我应该在托管bean中定义相同的字段及其getter和setter吗?当从xhtml文件接近它们时,我用MBname.FiledName?还是最好不要在托管bean中再次创建字段,并通过调用MBname.details.FiledName(当细节返回对象时)从xhtml中对其进行处理?再说一遍,每种方法的区别是什么

您不应复制/扩展控制器中的数据模型。这毫无意义。这不是干的,因此只是维护方面的头痛。

最新更新