我正在创建一个自定义组件,其属性接受一个对象的实例 像这样
<hy:bean instance="#{myManagedBean.person}" />
如何在渲染器中检索此实例?
我尝试了以下操作,但我只获得了转换为字符串
的组件版本Object instance = beanComponent.getAttributes().get( "instance" );
如果我在下面做,我会得到一个NullpointerException
//expecting "#{myManagedBean.person}" which i can then evaluate
String instance = beanComponent.getInstance();
这是BeanComponent
中getInstance()的定义public String getInstance()
{
return ( String ) getStateHelper().get( PropertyKeys.instance );
}
public void setInstance( String instance )
{
getStateHelper().put( PropertyKeys.instance, instance );
}
我发现从未调用过Setter。
知道如何获取#{myManagedBean.person}的对象进行内省吗?
答案 0 :(得分:0)
Object instance = beanComponent.getValueExpression("instance").
getValue(context.getELContext());