我正在使用JSF 2.0和GF3.1
我的页面上有很多h:inputTexts,并希望根据其ID在某些条件下格式化它们的大小。
我的bean方法:
public String doSize(Object obj) {
if (obj.equals(...))
return "5";
else
return "10";
}
我的JSF页面:
....
<h:inputText id="some1" value="#{myBean.values['1']}"
size="{myBean.doSize(this)}" />
.... (another inputTexts) ....
我总是将null传递给bean。有没有办法传递一些能够理解我的inputText的东西?或者在其他阶段设定尺寸的方法?在哪里?
答案 0 :(得分:2)
使用#{component}
。它指的是当前UIComponent
,它处于子类型UIInput
的特定情况下。
<h:inputText id="some1" value="#{myBean.values['1']}"
size="#{myBean.doSize(component)}" />
您甚至可以明确传递从UIComponent#getId()
获取的ID:
<h:inputText id="some1" value="#{myBean.values['1']}"
size="#{myBean.doSize(component.id)}" />