我基本上是一个.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>
和myBean:
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";
}
}
现在,当我点击命令按钮时,它会设置全名并联系号码 但是当我点击链接按钮时,它应该只更改联系人号码。但是“fullName”值 outputText丢失了。
答案 0 :(得分:0)
您可能需要查找 Bean Scopes 目前您可能正在使用请求范围 bean尝试切换到查看范围或会话作用域强>
编辑你应该在你的支持bean中使用getter和setter来提供与html表单元素相关的相应数据字段。