之间有什么区别name和property在ResponseWriter.writeAttribute(String name, Object value, String property)?另外,如果property是null?
该name是你想写出HTML属性名称。的property是JSF标签属性名称(由一个属性所指示的UIComponent与该HTML属性相关联的类)。
通常(对于许多属性而言),它们是相同的。例如<h:inputText value>,最终为<input value>.
writer.writeAttribute("value", value, "value");
Run Code Online (Sandbox Code Playgroud)
但是,对于例如 JSF 属性,styleClass这是不同的,因为关联的 HTML 属性名称class是 Java 中的保留关键字,并且您不能拥有像这样的属性private String class而不会遇到编译错误。JSF 组件因此styleClass用作标记属性名称和组件属性。所以例如<h:inputText styleClass>结束为<input class>.
writer.writeAttribute("class", styleClass, "styleClass");
Run Code Online (Sandbox Code Playgroud)
所述property可与指定的null,如果有实际上在JSF标签和/或没有这样的属性UIComponent类。例如,通过自定义组件或渲染器自定义 HTML5 属性。
writer.writeAttribute("autofocus", "true", null);
Run Code Online (Sandbox Code Playgroud)
所以,通常只有当两者UIComponent#getAttributes()都不包含键并UIComponent#getValueExpression()返回null并且属性在 JSF 状态下未知时。
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |