如何在页面刷新后保存JSF文本框内容?

时间:2011-06-21 15:46:17

标签: jsf xhtml jboss seam

将用户键入的文本保存到以下JSF HTML文本框中的最简单方法是什么,以便即使在页面刷新后文本仍保留在文本框中(例如,当用户可以离开页面然后返回时) ,希望看到他们之前在文本框中输入的内容)?

       <s:decorate template="layout/display.xhtml">
            <ui:define name="label">Name</ui:define>
            <h:inputText id="name" value="#{countriesList.countries.id.name}"/>
        </s:decorate>

提前感谢您的回复。

为了进一步解释上面的代码:我创建了一个JBoss Seam Web项目示例,从Oracle 10g数据库中反向工程代码,其中包含一个名为“Countries”的表。我现在唯一的问题是,每当用户离开记录列表页面查看或编辑记录时,他们就会在列出结果的页面中丢失所有搜索条件。

当然,在Web项目中有一个简单的设置,我可以改变它来实现这一目标吗?还是我太乐观了?

1 个答案:

答案 0 :(得分:2)

将inputText的值绑定到具有会话范围的组件。

@Name("valueHolder")
@Scope(ScopeType.SESSION)
public class ValueHolder
{
    private String value;

    ...set/get

}

在xhtml中:

<h:inputText value="#{valueHOlder.value}"/>