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

回到顶部