簡體   English   中英

如何將會話bean中的值傳遞給JSF inputText?

[英]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適當的gettersetter

例如:

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中的inputTextform的的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM