我有一個p:inputTextarea,並且在處理表單時我需要它的值。事實證明,每次我提交表單時,我都會得到除textarea之外的所有值。 #{xyzUI.description}
是一個帶有常規getter和setter的String對象。p:inputTextarea返回空字符串
<ui:composition>
<h:form id="form1">
<p:panel rendered="...">
<p:panel id="formPanel">
<p:panelGrid columns="2" cellpadding="5">
<!-- other form elements -->
<p:outputLabel>Description:</p:outputLabel>
<p:inputTextarea value="#{xyzUI.description}" style="width: 350px;" counter="display" counterTemplate="{0} characters remaining" maxlength="2000" autoResize="true" rows="4" />
<h:panelGroup />
<h:outputText id="display" />
</p:panelGrid>
<p:commandButton rendered="#{not xyzUI.noChange}" action="#{xyzUI.submitForm}" update="formPanel" ajax="true" value="Apply" >
<p:ajax update="formPanel"></p:ajax>
</p:commandButton>
</p:panel>
</p:panel>
</h:form>
<ui:composition>
在我的支持bean中,值總是「」。我不知道什麼是錯的。
public void submitForm()
{
...
tmp.setDescription(description); // String is always "" while debugging
myList.add(tmp);
RequestContext.getCurrentInstance().update("content");
}
在我看來,問題的根源並不在所示碼。你的按鈕在哪裏?什麼是豆的範圍?顯示getter/setter。你有嵌套表單嗎?顯示更多.. –
bean作用域是@ViewScoped。我只有一種形式圍繞整個視圖。我已將該按鈕添加到代碼中。對不起,我修剪了代碼的可讀性,並忘記了commandButton。 – baumlol
我們可以看到你的整個支持bean嗎?正如@ JaqenH'ghar提到的那樣,你可能錯過了那個bean的setter。 –