我的jsf中有这样的东西:
<div title="Percentage: #{myBean.numberToBeConvertedToPercentage}"></div>
我想做这样的事情:
<h:outputText value="#{myBean.numberToBeConvertedToPercentage}">
<f:convertNumber maxFractionDigits="2" type="percent"/>
</h:outputText>
当然,不是在输出文本中,而是将转换后的数字设置为变量,所以我可以在我的div中使用它。 我不想直接从我的bean中获取这个转换后的数字,因为我在我的视图的另一个地方使用它而不格式化它,并为此创建一个get,我不喜欢这个想法。有什么方法可以在我看来做到这一点吗?
答案 0 :(得分:1)
要使用<h:outputText>
+转换器,它是JSF中用于此目的的最佳方法。您可以重新设计Html 以分隔标签“Percentage:”和数据。以使用JS代码中的呈现值将其传递给“title”属性。
<div id="titleDiv" />
<script type="text/javascript">
$('#titleDiv').title = 'Percentage: <h:outputText value="#{myBean.numberToBeConvertedToPercentage}"><f:convertNumber maxFractionDigits="2" type="percent"/></h:outputText>';
</script>
如果您仍希望不使用转换器,那么您可以为每个视图创建一个bean,并在get方法中呈现值。
其他选项是使用 EL 2.2方法调用功能并调用自己的格式bean
<div title="Percentage: #{formatBean.formatNumber(myBean.numberToBeConvertedToPercentage, 2)}"></div>
答案 1 :(得分:0)
我没有检查过这个,但也许你可以使用ui:param并为其分配一个转换器。
然后在您的页面中使用它
<div title="Percentage: #{myVar}></div>