[英]How to pass value from session bean into JSF inputText?
我在JSF中有一個inputText對象,比如說inputText_A,該值綁定到會話Bean對象的成員變量。 這是一種雙重的。
<h:inputText value="#{theBean.theMemberVar}" />
此inputText_A已初始化為0.0。 當theBean執行計算時,該值將更新回theBean.theMemberVar。 我已在調試控制台中追溯它,並且值已更新為我的預期值。 但是屏幕上的inputText_A仍然顯示原始值,即0.0。
我已經使用outputText進行了測試,我的預期輸出顯示在那里,但之后它在屏幕上變為只讀。 我希望它在我的預期輸出填充到inputText_A后可編輯,因此我選擇inputText對象。
我知道當我們將一些值從JSF傳遞給Bean時,我們使用inputText,當一些值從Bean傳遞給JSF時,我們使用outputText。 但是現在我想使用inputText將Bean的值傳遞給JSF。 我可以知道這可以嗎?
通過h:inputText
顯示一些更新的值是完全正確的(如果你需要這樣的功能)。 你只需要為bean變量setter
適當的getter
和setter
。
例如:
private String text;
// here you will update the input text - in your case method which does calculations
public void changeText(){
...
text = "updated";
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
你的facelet(.xhtml):
<h:inputText value="#{dummyBean.text}" />
<h:commandButton value="Change text" actionListener="#{dummyBean.changeText}" />
您的inputText
將在按鈕單擊時更新。
其他的事情是如果您通過Ajax更新您的內容。 然后,你需要重新渲染parent component
中的inputText
或form
的的inputText
:
<h:commandButton immediate="true" value="Change text">
<f:ajax event="click" render=":formID" listener="#{dummyBean.changeText}"/>
</h:commandButton>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.