【问题标题】:JSF composite component and f:convertNumberJSF 复合组件和 f:convertNumber
【发布时间】:2012-04-08 16:11:54
【问题描述】:

我的复合组件中的 f:convertNumber 标记有问题。

<c:when test="#{cc.attrs.bean.dataTyp eq 'Double'}">
<h:outputText converter="javax.faces.Double" value="#{cc.attrs.bean.dataObject.data.value} ">
    <f:convertNumber groupingUsed="false" maxFractionDigits="5" minFractionDigits="3" />
</h:outputText>

复合组件在数据表中被调用。看起来 f:convertNumber 标记将被忽略。

【问题讨论】:

    标签: jsf jakarta-ee composite-component


    【解决方案1】:

    JSTL 流控制标记在重复的 JSF 组件中本身引用的复合材料中不起作用。 JSTL 标记仅在组合即将被实例化时运行一次。在重复的 JSF 组件中最终只有 一个 复合实例,它会被多次渲染。 JSTL 标记在视图构建期间运行(阅读:在复合组件的实例化期间),而不是在视图渲染期间(阅读:当复合组件需要生成 HTML 时)。

    &lt;c:choose&gt;&lt;c:when&gt; 替换为rendered 属性,

    <h:outputText ... rendered="#{cc.attrs.bean.dataTyp eq 'Double'}">
        <f:convertNumber ... />
    </h:outputText>
    

    或者创建一个标签文件而不是一个复合组件。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 2011-06-27
      • 2013-03-23
      • 2013-04-22
      • 2011-06-04
      • 1970-01-01
      • 2012-09-03
      相关资源
      最近更新 更多