JSF 2.2 ViewAction这一不与CDI拦截
装饰我有定义为这样的的viewAction一个JSF视图:JSF 2.2 ViewAction这一不与CDI拦截
<f:metadata> <f:viewAction action="#{basketBean.onBasketViewPageLoad}" immediate="true"/>
</f:metadata>
的onBasketViewPageLoad方法被调用,但它不是由限定的CDI拦截装饰。 Bean方法
@CalledFromJSFView public void onBasketViewPageLoad() throws Exception {... }
注释工作,因为它是注册在“正常” JSF动作监听器之类的,对其调用。
有谁知道如何获取由CDI拦截器装饰的viewActions。
对于记录拦截器被定义为这样:
@InterceptorBinding @Target({METHOD, TYPE})
@Retention(RUNTIME)
public @interface CalledFromJSFView{
...
}
回答:
为了同样的问题的任何人。事实证明,这是由于依赖关系中的错误匹配。
当没有工作,我用(gradle这个依赖)
compile 'javax.faces:javax.faces-api:2.2'; compile (group: 'com.sun.faces', name: 'jsf-impl', version: '2.2.0')
compile group: 'org.jboss.weld.servlet', name: 'weld-servlet', version: '2.4.6.Final'
当它工作的javax.faces进行了更新,com.sun.faces。
像这样:
compile 'com.sun.faces:jsf-api:2.2.15' compile (group: 'com.sun.faces', name: 'jsf-impl', version: '2.2.15'
compile group: 'org.jboss.weld.servlet', name: 'weld-servlet', version: '2.4.6.Final'
所以我想这是由于版本不兼容的。
以上是 JSF 2.2 ViewAction这一不与CDI拦截 的全部内容, 来源链接: utcz.com/qa/263409.html