试想一个文本框,绑定到ManagedBean:默认值:inputText的
<h:inputText id="name" value="#{mb.name}"/>
我想字段默认的值。
我知道我可以在施工时设置ManagedBean中的值,但这对我不起作用,因为我在不同的xhtml页面中使用相同的ManagedBean作为支持bean。我不想在所有这些页面中初始化“名称”字段。
有人可以提出一个策略吗?或者我错过了一些重要的东西?
非常感谢! J.
试想一个文本框,绑定到ManagedBean:默认值:inputText的
<h:inputText id="name" value="#{mb.name}"/>
我想字段默认的值。
我知道我可以在施工时设置ManagedBean中的值,但这对我不起作用,因为我在不同的xhtml页面中使用相同的ManagedBean作为支持bean。我不想在所有这些页面中初始化“名称”字段。
有人可以提出一个策略吗?或者我错过了一些重要的东西?
非常感谢! J.
您可以用JavaScript填充值(document.getElementById("formName:textName").value = 'defaultValue';
。也许在document.onload
你也可以继承你的托管bean,并填写默认的构造函数的默认值,或在@PostConstruct
方法,并使用子类的bean。
使用JSF转换的值从长,转换为int,双。 ..等到包装数据类型 Long,Integer
Thx Bozho。 JavaScript的答案是诀窍! 我不认为替代方案(@PostConstruct)适合我。我使用viewparams,并且因为涉及名称匹配,所以从视图中的bean名称需要等于要查看的bean名称。 但是,您认为我可以通过检查某个上下文对象来检测调用* .xhtml页面的名称吗?我使用调试器探索了FacesContext,但是我找不到从Request对象获取视图的类型安全方式。无论如何,这种方法看起来并不像JavaScript那样干净。只是好奇。 ;-) Thx。 J. – Jan 2010-07-05 15:39:08
您可以使用'getViewRoot()。getViewId()'。顺便说一句,如果答案适合你 - 将其标记为已接受(在投票柜台下面打勾) – Bozho 2010-07-05 15:48:20