JSF1.2を使用してカスタムコンポーネントを開発しています。私のタグクラスは拡張UIComponentELTag
され、タイプの変数がありますValueExpression
。これらの値は、たとえば、タグの対応する属性から(setProperties
関数を使用して)設定されます。
<sr:show name="#{backingBean.name}" ...> #{backingBean.mainContent}</sr:show>
タグのbodyContentをバインディング値として取得しようとするとスタックします。これは私が進んだところです:
public int doAfterBody() throws JspException{
if(bodyContent!=null) {
String body = bodyContent.getString();
FacesContext context = FacesContext.getCurrentInstance();
UIComponent component = super.findComponent(context);
MyComp myComp= (MyComp) component;
myComp.setMain(body);
}
bodyContent.clearBody();
return SKIP_BODY;
}
タグの本体にバインディング値が含まれていない場合、このコードは正常に機能します。ボディにバインディング値があるかどうかを確認してから、Beanから値を設定したいと思います。
JSF 1.1では、を使用してこれを確認しisValueReference(body)
ました。JSF 1.2でこれを達成するにはどうすればよいですか?ボディコンテンツをバインディング値として取得する例はどこにも見つかりませんでした。