我在提交複合組件時遇到問題。失去在複合組件中提交的輸入
我的大多數複合組件都包含輸入組件和「提交」按鈕。 當我試圖將按鈕仍然在同一個h:表單中,但不在同一個複合組件中時,提交的值似乎在某處丟失了。而且,例如,我的驗證器被調用了原始值。
例子:
<composite:interface>
<composite:attribute name="titreContext" required="true"/>
</composite:interface>
<composite:implementation>
<p:outputPanel id="selectionTitreDetailsPanel" styleClass="selectionTitreDetails">
<p:outputPanel id="selectionTitreDetailsPanelInner" rendered="#{not empty cc.attrs.titreContext.selected}">
<p:panelGrid columns="2" id="panelId">
<h:outputText id="idLabel" value="Id :"/>
<h:outputText id="id" value="#{cc.attrs.titreContext.selected.titeluid}"/>
<p:tooltip for="id" value="Identifiant unique"/>
</p:panelGrid>
<p:panelGrid columns="2" id="titelePanel">
<p:outputLabel for="selectTitele" value="Titre :"/>
<p:selectOneMenu id="selectTitele" value="#{cc.attrs.titreContext.selected.titele}" effect="fold" styleClass="fullWidth">
<f:selectItems value="#{constants.getTitelesForTypman(cc.attrs.titreContext.selected.titele.typman)}" var="titele" itemLabel="#{titele.titelelil}" itemValue="#{titele}" styleClass="fullWidth"/>
<p:column styleClass="fullWidth">#{titele.titelelil}</p:column>
</p:selectOneMenu>
</p:panelGrid>
[...]
<p:commandButton id="confirmerModifications" icon="small_edit" type="submit" value="Confirmer les modifications"
action="#{elutersEditionContext.confirmeModifsSelection}" process="mandatsTerritorial"
update="mandatsTerritorial #{cc.attrs.notifUpdates}"/>
</composite:implementation>
作品。
但把號碼:的commandButton出複合的:
<h:form>
<mylib:mycomponent /*parameters *//>
<p:commandButton /*parameters*/ />
</h:form>
不起作用。當我調試我的驗證器時,我可以看到修改後的值甚至沒有提交。 getLocalValue,getSubmittedValue和getValue都沒有更改。
複合組件聲明中是否有語法用於糾正這種情況?順便說一下:當我將組件作爲複合組件而不是自定義組件進行編寫時,檢索輔助bean中的#{asen}剛剛工作。
在此先感謝。
我使用:
- PrimeFaces 3.4.1
- CODI 1.0.5
- 的OpenWebBeans 1.1.6
- MyFaces的2.1.9
- 的Tomcat 7.0.32
(更新)這個非常奇怪的問題是由h:form嵌套造成的。
非常奇怪,因爲h:表單嵌套並沒有擾亂第一級複合組件的處理,但在嵌套複合中造成了這種奇怪的「輸入丟失」。
嵌套是這樣的:
<h:form>
...
<p:tabView ...>
<p:tab>
<h:form>
<my:composite ....>
</h:form>
</p:tabView>
</h:form>
我知道這不是事情是如何在堆棧溢出做,但我有我怎麼會在這裏你聯繫沒有別的想法。我今天早些時候在這裏提出了一個問題,但不幸的是它只有12個視圖。也許這是一個糟糕的時間。但我知道你會知道我的問題的答案,我真的很想找一些專業人士的見解。如果你可以花幾秒鐘閱讀我的文章,我會非常感激。謝謝主席先生http://stackoverflow.com/questions/13161747 – gmustudent
@gmu:我最近沒有明確地環顧四周在JDBC和Tomcat標籤了(雖然,有時在週末只)的有最近已經「足夠」 JSF/JSP/Servlet問題來回答。 – BalusC
@BalusC:謝謝你的回覆。我的問題不夠清楚。將commandButton放在組合中時,我不使用process =「」。由於它沒有工作,我試圖明確設置默認值@ form,以便進行處理。這不起作用。最後,你確認它應該... :-) –