2011-04-26 71 views
1

我似乎有一個jsf組件inputText和inputTextarea的問題。他們不顯示我的後端持有的價值。我100%確定後端具有這些值,我甚至嘗試用outputLabel輸出它,並且outputlabel顯示outputTexts不想顯示的值。Inputtextarea沒有顯示文字

我的JSF頁面:

[...] 
<h:form rendered="#{gvpController.logInBean.gvpView}"> 
    <fieldset> 
     <h3>Wijzig een titel</h3> 
     <label> 
      <span>Titel:</span> 
      <h:selectOneMenu value="#{faseController.selectedFase.parent_id}" valueChangeListener="#{faseController.prepareEditView}" onchange="submit()" immediate="true"> 
       <f:selectItems value="#{faseController.fasesAsSelectItems}" /> 
      </h:selectOneMenu><br /> 
     </label> 
     <h:inputTextarea value="#{faseController.selectedFase.titel}" /> 
     <br /> 
     <ui:repeat value="#{faseController.selectedFase.subItems}" var="subfase"> 
      <h:inputTextarea value="#{subfase.titel}" /> 
     </ui:repeat> 
    </fieldset> 
</h:form> 
[...] 

奇怪的是,這只是未顯示出其價值第一outputTextarea。 ui:repeat中的outputTextarea顯示正確的值。

謝謝。

+0

是「outputTexts」和「outputTextarea」的拼寫錯誤嗎?你的意思是說「inputTexts」和「inputTextarea」,對嗎? – 2012-02-29 19:02:46

回答

2

我發現a解決方案。我不知道這是否是一個好或者它可能以另一種方式來完成,如果你知道,請讓我知道,但這裏是我如何固定它:

我的JSF頁面:

[...] 
<h:form id="editform" rendered="#{gvpController.logInBean.gvpView}"> 
    <fieldset> 
     <h3>Wijzig een titel</h3> 
     <label> 
      <span>Titel:</span> 
      <h:selectOneMenu value="#{faseController.selectedFase.parent_id}" valueChangeListener="#{faseController.prepareEditView}" onchange="submit()" immediate="true"> 
       <f:selectItems value="#{faseController.fasesAsSelectItems}" /> 
      </h:selectOneMenu><br /> 
     </label> 
     <h:inputTextarea id="textboxParent" value="#{faseController.selectedFase.titel}" /> 
     <br /> 
     <ui:repeat value="#{faseController.selectedFase.subItems}" var="subfase"> 
      <h:inputTextarea value="#{subfase.titel}" /> 
     </ui:repeat> 
    </fieldset> 
</h:form> 
[...] 

我將id添加到表單和正在執行的文本框中。然後,我添加了下面這段代碼#{} faseController.prepareEditView:

[...] 
UIInput input = (UIInput) FacesContext.getCurrentInstance().getViewRoot().findComponent("editform:textBoxParent"); 
input.setValue(selectedFase.getTitel()); 
input.setSubmittedValue(null); 
[...] 

這迫使inputtextarea顯示我想要的文字。

+0

我一直在打4小時類似的問題。這立即修復它。謝謝!這就是說,我認爲我必須這麼做纔是瘋狂的。 – sgoldberg 2013-11-20 18:38:03

+0

我不記得爲什麼會發生這種情況,或者爲什麼我不得不應用這個瘋狂的解決方法,並且我沒有檢查它是否在更高版本中修復,但很酷的是,我的古老評論對您有幫助! :) – 2013-11-21 09:17:13