0

我基本上是一个 .net 开发人员并且对 jsf 非常陌生,所以这可能是一个非常基本的问题,它的答案可能非常明显,对此感到抱歉。

我开发了一个 jsf 应用程序。我有一个包含个人数据的表单和一个用于其他功能的链接按钮。当个人数据被填充并显示在 jsf 上时,我单击那个链接按钮,它调用了一些 bean 功能。但我之前的“个人数据”数据丢失了。或者我可以说我的 jsf 页面的回发数据丢失/重置。

编辑:这是我的jsf和bean

<f:view> 
<h:form> 
<h:inputText value="#{myBean.name}"/>
<h:commandButton action="#{myBean.getInfo}/>
<h:outputText value="#{myBean.fullName}"/> 
<h:outputText value="#{myBean.contactNo}"/> 
<h:commandLink action="#{myBean.changeContactNo"}/> 
</h:form> 
</f:view> 

和我的豆:

 public class myBean
    {
        private String name;
        private String fullName;
        private String contactNo;

        public myBean()
        {
        }

        public String getInfo()
        {
            String endName = getname();
            fullName = "Prof"+ endName;
            contactNo = "12345";
        }

        public String changeContactNo()
        {
            contactNo = "999999";
        }
    }

现在,当我单击命令按钮时,它会设置全名和联系电话。
但是当我点击链接按钮时,它应该只更改联系人号码。但是 outputText 的“fullName”值丢失了。

4

1 回答 1

0

您可能需要查找当前您可能正在使用请求范围的Bean 范围的 Bean 范围尝试切换到视图范围会话范围

编辑:并且您应该在带有getter和setter的支持bean中具有与html表单元素相关的相应数据字段。

于 2012-06-29T06:29:42.313 回答