gpt4 book ai didi

jsf-2 - ResponseWriter.writeAttribute() 中 'name' 和 'property' 参数的区别

转载 作者:行者123 更新时间:2023-12-01 10:20:49 25 4
gpt4 key购买 nike

ResponseWriter.writeAttribute(String name, Object value, String property)nameproperty 有什么区别? ?此外,如果 propertynull 怎么办?

最佳答案

name是您要写出的 HTML 属性名称。 property是与该 HTML 属性关联的 JSF 标记属性名称(由 UIComponent 类上的属性指示)。

通常(这适用于很多属性),它们是相同的。例如。 <h:inputText value>结果是 <input value> .

writer.writeAttribute("value", value, "value");

但是,例如JSF 属性 styleClass这是不同的,因为关联的 HTML 属性名称 class是 Java 中的保留关键字,您不能拥有类似 private String class 的属性而不会遇到编译错误。因此 JSF 组件使用 styleClass作为标记属性名称和组件属性。所以例如<h:inputText styleClass>最终为 <input class> .

writer.writeAttribute("class", styleClass, "styleClass");

property可以用 null 指定如果在 JSF 标记和/或 UIComponent实际上没有这样的属性类(class)。例如。通过自定义组件或渲染器自定义 HTML5 属性。

writer.writeAttribute("autofocus", "true", null);

所以,通常只有当两个UIComponent#getAttributes()不包含 key 和 UIComponent#getValueExpression()返回 null并且该属性在 JSF 状态下是未知的。

关于jsf-2 - ResponseWriter.writeAttribute() 中 'name' 和 'property' 参数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com