如何在getter方法中获取调用组件的ID?
给出以下示例:
<h:inputText id="foo" size="#{configBean.size}" />
我想在getter方法中得到调用组件foo
的id
,这样我就可以通过foo.length
的键从属性文件中返回大小。
public int getSize() {
String componentId = "foo"; // Hardcoded, but I should be able to get the id somehow
int size = variableConfig.getSizeFor(componentId);
return size;
}
我怎样才能做到这一点?
没有找到相关结果
已邀请:
2 个回复
缔恃钨
,它指的是当前的
实例。在其吸气方法中,你需要一个
。 所以你可以这样做:
同
或者你也可以把
变成
,这样你就可以做到:
(只要你想将参数传递给方法,就必须使用EL中的完整方法名而不是属性名,所以只有
不起作用,或者你必须将实际的
方法重命名为
)
刷骸码
EL方法的实现可能如下所示:
在这种情况下,每当调用配置bean的getSize()方法时,调用组件的ID将通过请求范围中的“callerID”获得。为了使它更整洁,你应该添加一个finally块,以便在调用完成后从范围中删除变量。 (请注意,我没有尝试上面的代码,但希望能够证明这个想法) 再次,当你使用JSF 1.x时,这将是最后的手段。最干净的解决方案是使用JSF 2.0和BalusC描述的方法。