描述Hibernate propertyPath

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate propertyPath,包括介绍装饰CSS代码等方面。

本文中Hibernate propertyPath是惟一需要的属性。size、 maxlength 和 required 都可以忽略。objectPath var 被设置为在 Hibernate propertyPath 中引用的属性的父对象。因此,如果 Hibernate propertyPath 是 customer.contact.fax.number, 那么 objectPath 就应该被设置为 customer.contact.fax。我们现在就使用 Spring 的 bind 标签绑定到了包含属性的对象上。这会将对象变量设置成对包含属性的实例的引用。接下来,检查这个标签的用户是否已经指定他/她们是否希望属性是必须的。允许表单开发人员覆盖从注释中返回的值是非常重要的,因为有时他/她们希望让控制器为所需要的域设置缺省值,而用户可能并不希望为这个域提供值。如果表单开发人员没有为 required 指定值,那么就可以调用这个表单 TLD 的 required 函数。这个函数调用了在 TLD 文件中映射的方法。这个方法简单地检查 @NotNull 注释;如果它发现某个属性具有这个注释,就将 labelClass 变量设置为必须的。可以类似地确定正确的 maxlength 以及这个域是否是一个 Date。

接下来使用 Spring 来绑定到 Hibernate propertyPath 上,而不是像前面一样只绑定到包含这个属性的对象上。这允许在生成 label 和 input HTML 标签时使用 status.expression 和 status.value。 input 标签也可以使用一个大小 maxlength 以及适当的类来生成。如果前面已经确定属性是一个 Date,现在就可以添加 JavaScript 日历了。(可以在 参考资料 一节找到一个很好的日历组件的链接)。注意根据需要链接属性、输入 ID 和图像 ID 的标签是多么简单。)这个 JavaScript 日历需要一个图像 ID 来匹配输入域,其后缀是 _button。

使用CSS,就可以对必须的域进行一下装饰 ―― 例如,让它们以红色显示、在文本边上显示一个星号,或者使用一个背景图像来装饰它。

对必须域进行装饰的CSS代码

相关推荐