2013-05-23 4 views
1

저는 물건을 표시하기 위해 masterDetail 구성 요소를 사용하고 있습니다. 먼저 전체 태그를 -Tag 내에 중첩 시켰습니다. masterDetail-component 내에서 폼을 사용해야한다는 것을 알게 된 후에는 허용되지 않는 중첩 된 폼을 피하기 위해 form 태그를 제거했습니다.pe : masterDetail - MenuItem은 양식 요소 (?) 안에 있어야합니다.

<ui:define name="center"> 
     <p:growl id="infoMessage" sticky="false" /> 
     <p:layoutUnit position="center" style="border-width: 0px"> 

      <p:panel id="panel"> 

       <pe:masterDetail showBreadcrumb="true" selectLevelListener="#{logic.selectLevel}"> 

        <f:facet name="header"> 
         <p:messages showDetail="false" showSummary="true" /> 
        </f:facet> 

        <pe:masterDetailLevel level="1" 
         levelLabel="#{ivy.cms.co('/Labels/Mitarbeiterauswahl')}"> 
         <h:panelGrid columns="3" cellpadding="5"> 

          <p:outputLabel for="name" value="#{ivy.cms.co('/Labels/Mitarbeiter')}" /> 
          <p:inputText id="name" value="#{data.nameSuche}" /> 
          <p:commandButton value="#{ivy.cms.co('/Labels/Buttons/Suchen')}" 
           actionListener="#{logic.RD_Suchen}" update="mitarbeitersuche" /> 

         </h:panelGrid> 

         <p:dataTable value="#{data.mitarbeiter.rsMitarbeiter}" var="mitarbeiter" 
          id="mitarbeitersuche"> 
          <p:column headerText="#{ivy.cms.co('/Labels/Nachname')}"> 
           <h:outputText value="#{mitarbeiter['nachnamemita']}" /> 
          </p:column> 

          <p:column headerText="#{ivy.cms.co('/Labels/Vorname')}"> 
           <h:outputText value="#{mitarbeiter['vornamemita']}" /> 
          </p:column> 

          <p:column headerText="#{ivy.cms.co('/Labels/Kostenstellennr')}"> 
           <h:outputText value="#{mitarbeiter['nrkost']}" /> 
          </p:column> 

          <p:column headerText="#{ivy.cms.co('/Labels/Kostenstelle')}"> 
           <h:outputText value="#{mitarbeiter['beschreibungkost']}" /> 
          </p:column> 

          <p:column headerText="#{ivy.cms.co('/Labels/email')}"> 
           <h:outputText value="#{mitarbeiter['emailmita']}" /> 
          </p:column> 

         </p:dataTable> 

        </pe:masterDetailLevel> 


       </pe:masterDetail> 


      </p:panel> 

     </p:layoutUnit> 
    </ui:define> 

은 이제 예외가 발생합니다 :

MenuItem must be inside a form element 

는 viewId =/인스턴스/13ED0EF71F61E4D5/MitarbeiterdatenJSF.xhtml 위치 = C : 사용자 \ \ nweis.FREICON 바탕 화면 \ \ xivy5 \ webapps에 \ 담쟁이 \ 인스턴스는 \에 의한 13ED0EF71F61E4D5 \ MitarbeiterdatenJSF.xhtml phaseId = RENDER_RESPONSE (6)

: javax.faces.FacesException - MenuItem의 내부해야합니다 org.primefaces.component.menu.BaseMenuRenderer.encodeMenuItem에서 폼 요소 (BaseMenuRenderer.java:92) 이것은 정말 PrimefacesExtension-팀에서 제공하는 코드 예제 나 때문에 혼란되어

어떤 형상 - 없다 요소 주변 지역 : masterDetail see here. 어쩌면 누군가가 나를 도와 줄 수있을거야.

답변

2

물론 pe : masterDetail을 둘러싼 양식 요소가 있습니다. 양식이 마스터 템플리트에 있기 때문에 코드에 표시되지 않습니다. 물론, MenuItem은 폼 내에 있어야하므로 전체 MasterDetail도 있어야합니다. MenuItem은 명령 구성 요소이며 모든 명령 구성 요소는 양식 내에 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 나를 혼란스럽게 만들었다. 명확히 해 주셔서 감사합니다. –