シンプルな Facelet タグがあります。
<ui:composition>
<ui:insert />
</ui:composition>
c:set
複数のタグを宣言することを避けるために使用されます。
という名前で facelets taglib ライブラリに登録し、次のview
ように使用するとします。
<my:view bean="#{myController}">
<p:inputText value="#{bean.value}>
<p:ajax event="blur" process="@this" listener="#{bean.handleValueChanged}" />
</p:inputText>
</my:view>
属性value
は によって完全に解決されますがp:inputText
、これがp:ajax
スローされます:
Target Unreachable, identifier 'bean' resolved to null
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'bean' resolved to null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:153)
at com.sun.el.parser.AstValue.invoke(AstValue.java:237)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at org.primefaces.component.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:47)
それはバグですか、それとも予想される動作ですか?
更新: f:ajax で同じことを試したところ、うまくいきました!
ところで、環境は次のとおりです:
Glassfish 3.1.2
PF 3.0、3.2、3.3
Update2 :
この問題RichFaces
はまったく同じです。PrimeFaces のバグのようです (今日、PF バグ トラッカーに問題を投稿します)。