gpt4 book ai didi

jsf - disappears when command button is clicked中的数据

转载 作者:行者123 更新时间:2023-12-04 13:11:59 25 4
gpt4 key购买 nike

我正在使用JSF 1.1。我有一个JSF页面,其中包含一个请求范围的bean和一个只读输入字段。

<h:inputText id="dt" value="#{bean.sdate}" readonly="#{bean.disable}" />
<a onclick="cal('dt');"><img src="fr.gif" border="0"></a>

当我使用JavaScript设置输入值并单击命令按钮时,输入字段中的数据就会消失。

这是怎么引起的,我该如何解决。

最佳答案

这是因为该属性设置为readonly。如果此方法评估true,那么JSF将不会处理提交的值,因此不会更新模型。如果要在渲染 View 时将其设置为readonly,则具有JSF来处理提交的值,那么您需要使其仅在渲染响应阶段评估true。您可以为此使用 FacesContext#getRenderResponse() 。您需要在isDisable()方法中执行此操作。

public boolean isDisable() { // TODO: rename to isReadonly().
return FacesContext.getCurrentInstance().getRenderResponse();
}

注意:在JSF2中,您也可以在 View 中通过 FacesContext#getCurrentInstance()访问 #{facesContext},这在模型中节省了一些样板:

<h:inputText ... readonly="#{facesContext.renderResponse}" />

还要注意,当您使用JSF2 <f:viewParam>时,这种方法将不再适用于GET请求。另请参见 Make a p:calendar readonly的说明和解决方法。

关于jsf - <h :inputText readonly =“true” > disappears when command button is clicked中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com