ui:repeat

时间:2018-08-21 13:31:46

标签: jsf foreach uirepeat

我需要根据属性的类型来呈现属性。如果它是boolean类型,那么我将其渲染为布尔值,依此类推。请注意,所有属性实际上都以文本类型存储在DB中。

我正在使用c:forEach解决此问题。并使用适当的JSF转换器转换值。在我们使用JBoss之前,一切都很好。迁移到Wildfly之后,我发现该页面现在非常慢。 Jboss的早期版本是6.1,现在我们已升级到Wildfly 10.1。

所以我开始使用ui:repeat来解决这个问题。现在页面的渲染速度更快,但是我现在面临其他类型的问题。我在布尔转换器方面遇到问题。似乎JSF布尔转换器在ui:repeat呈现布尔JSF组件之前执行。

任何想法如何解决此问题?

是加快c:forEAch还是使用ui:repeat解决布尔值转换问题?

如果有帮助,这里是相关代码:

这是xhtml的示例代码:

    $ {attribObj.clusterMetaAttr.id}

    <tr:inputText id="${'iterAttribValStr'.concat(attrIdStr)}"
        styleClass="ce_input_text" simple="true"
        shortDesc="#{attribObj.clusterMetaAttr.getDescription()}"
        secret="#{attribObj.clusterMetaAttr.encrypted}"
        partialTriggers="${fn:split(''.concat(ClusterEditor.destinationTypeDropDownId),'')}"
        autoComplete="#{attribObj.clusterMetaAttr.encrypted==true ? 'off' : 'on'}"
        value="#{attribObj.clusterOverrideValue}"
        <tr:validateRegExp
            pattern="#{ClusterEditor.getRegExPatternForAttrib(attribObj.clusterMetaAttr.type, attribObj.clusterMetaAttr.getDescription())}"
            messageDetailNoMatch="#{ClusterEditor.getRegExErrorMsgForAttrib(attribObj.clusterMetaAttr.type, attribObj.clusterMetaAttr.getDescription())}" />
    </tr:inputText>

    <tr:selectOneChoice
        shortDesc="#{attribObj.clusterMetaAttr.getDescription()}"
        id="${'iterAttribValDropdown'.concat(attrIdStr)}" simple="true"
        autoSubmit="true"
        value="#{attribObj.clusterOverrideValue}">
        <f:selectItem itemLabel="#{messages.aus_select}" />
        <s:selectItems
            value="#{ClusterEditor.getDropDownValueList(attribObj.clusterMetaAttr.choices)}"
            var="dropDownValue" itemValue="#{dropDownValue}"
            label="#{dropDownValue}" />
    </tr:selectOneChoice>

    <tr:selectBooleanCheckbox
        shortDesc="#{attribObj.clusterMetaAttr.getDescription()}"
        id="${'attribValBool'.concat(attrIdStr)}"
        value="#{attribObj.clusterOverrideValue}" simple="true"
        converter="com.av.web.framework.BooleanAttributeConverter"/>

0 个答案:

没有答案