【发布时间】:2015-06-13 19:37:43
【问题描述】:
在 faces-config.xml 中定义了一个转换器,它将布尔值更改为字符串“是”或“否”
<converter>
<converter-id>booleanConverter</converter-id>
<converter-class>com.example.BooleanConverter</converter-class>
</converter>
使用
效果很好<h:outputText value="#{bean.booleanValue}" converter="booleanConverter" />
但是,如果打算为周围的div 元素设置样式,这可以使用转换器吗?例如,如果定义了一个转换器,它返回字符串“booleanTrue”和“booleanFalse”(在 CSS 中定义)
<converter>
<converter-id>booleanStyleConverter</converter-id>
<converter-class>com.example.BooleanStyleConverter</converter-class>
</converter>
我可以这样做吗:
<div class="#{booleanStyleConverter.getAsString(null,null,bean.booleanValue)}">
<h:outputText value="#{bean.booleanValue}" converter="booleanConverter" />
</div>
在 backing bean 中定义有效,但似乎并不令人满意
public String booleanStyle(boolean value) {
BooleanStyleConverter bsc = new BooleanStyleConverter();
return bsc.getAsString(null, null, value);
}
【问题讨论】: