0

icefaces 1.8 を使用して UI フラグメントに JSF selectOneMenu を追加しようとしていますが、何をしてもレンダリングできません。通常の jspx ページではレンダリングできますが、UI フラグメント内ではレンダリングできません。

<ui:fragment xmlns="http://www.w3.org/1999/xhtml"  xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ice="http://www.icesoft.com/icefaces/component">
    <ice:selectOneMenu id="myselect"
                       style="width:100px"
                       value="#{someField}"  
                       rendered="true">                                         
                             <f:selectItem itemValue="1" itemLabel="1"/>
                             <f:selectItem itemValue="2" itemLabel="2"/>
                             <f:selectItem itemValue="3" itemLabel="3"/>
                     </ice:selectOneMenu>
</ui:fragment>

基本的なものが欠けていますか?私はJSFが初めてです。まったく同じ selectOneMenu を jspx に引き出すと、正常に機能しますが、UI フラグメントを含めると機能しません。

BalusC の編集:

フラグメントは、後でプルされるjspxファイルで使用されます

<ui:include src="myfile.jspx">
   <ui:param name="someField" value="#{beanName.someField}"
</ui:include>

私は既存のものから離れます。インクルードには、すべてが期待どおりに機能する多くの機能があり、outputText などの他のコンポーネントを ui:fragment に追加できますが、違いはありません。完全なフラグメントは以下です。jspx からの完全なインクルードも投稿できます。

<ui:fragment xmlns="http://www.w3.org/1999/xhtml"  xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ice="http://www.icesoft.com/icefaces/component">

    <ice:panelGrid cellspacing="0" cellpadding="0" columns="3">
        <!-- This component is displayed when the form is opened for editing or display mode-->
        <ice:panelGroup rendered="#{not beanName.outputOnlyView }">

                <!-- This component is displayed when the form is opened for display mode in EDM stage-->
                <ice:panelGroup rendered="#{beanName.displayMode}">
                        <ice:outputText 
                                        id="#{fieldId }" 
                                        style="#{inlineStyleField}" 
                                        value="#{fieldValue}"  >
                        </ice:outputText>
                </ice:panelGroup>   

                    <ice:selectOneMenu id="myselect"
                                              style="width:100px"
                                              value="#{someField}"
                                              rendered="#{not beanName.outputOnlyView}">                                            
                             <f:selectItem itemValue="IntranetID" itemLabel="Intranet ID"/>
                             <f:selectItem itemValue="Name" itemLabel="Last Name, First Name"/>
                             <f:selectItem itemValue="KnownAs" itemLabel="Known As"/>
                     </ice:selectOneMenu>

                <!-- This component is displayed when the form is opened for editing mode in Submitter stage-->
                <ice:panelGroup rendered="#{!beanName.displayMode}" panelTooltip="#{fieldId}Help">
                    <ice:panelGrid style="#{inlineStyle}" cellspacing="0" cellpadding="0" columns="3">
                        <!-- Column 1 the component -->
                        <ice:selectInputText id="#{fieldId }"          
                                             binding="#{feildBinding}"                       
                                             options="{frequency:0.4}"
                                             rows="20"   
                                             width="100"
                                             partialSubmit="true"
                                             immediate="true"
                                             autocomplete="true"                                    
                                             value="#{fieldValue}"
                                             rendered="#{not beanName.outputOnlyView}"
                                             readonly="#{beanName.globalReadOnly }"
                                             listVar="employee"
                                             listValue="#{beanName[employeeSelect].employeeNamePossibilities}"
                                             valueChangeListener="#{beanName[valueChangeListener] }"
                                             textChangeListener="#{beanName[textChangeListener]}">
                            <f:facet name="selectInputText">
                                <ice:panelGrid columns="1">
                                    <ice:panelGrid columns="2" columnClasses="searchCol1,searchCol2">
                                        <ice:outputText id="name" value="#{employee.name}"/>
                                        <ice:outputText id="email" value="#{employee.email}"/>
                                    </ice:panelGrid>
                                    <ice:panelGrid columns="3" columnClasses="searchCol4,searchCol3,searchCol5">
                                        <ice:outputText id="function" value="#{employee.function}"/>
                                        <ice:outputText id="subfunction" value="#{employee.subfunction}"/>
                                        <ice:outputText id="stat1" value="#{employee.stat1}"/>
                                    </ice:panelGrid>
                                </ice:panelGrid>
                            </f:facet>          
                        </ice:selectInputText>                  
                        <!-- Column 2:  Error Messages for this component -->
                        <ice:message style="color:red;" id="#{fieldId}Error" for="#{fieldId}" showDetail="true"/> 

                        <!-- Column 3:  HoverHelp if required -->
                        <ui:include src="../inc-components-pcr/sub-components-pcr/hoverHelpColumnAndTooltip.jspx"/>             
                    </ice:panelGrid>
                </ice:panelGroup>   
        </ice:panelGroup>

    </ice:panelGrid>
</ui:fragment>
4

1 に答える 1

0

ページにテンプレートを複数回含めていたため、同じ ID の複数のインスタンスが発生し、まったくレンダリングされませんでした。したがって、最初のレンダリングではレンダリングされず、その ID が使用可能のままになるため、最初に非表示のものが表示された最後の動作が発生します。ばかげた間違い。

于 2013-09-17T20:20:30.957 に答える