jsf 2.0 spring 3 запрос объема не работает

Я пытаюсь использовать Spring для предоставления управляемых компонентов JSF. Я предполагаю, что @ManagedBean будет выбран контейнером JSF, чтобы связать EL в JSF с управляемым компонентом, даже когда я использую Spring, настроив использование Spring в Faces-config.xml.

Весна должна обеспечить бобы, но теперь кто управляет объемом бобов?

Я попытался использовать аннотацию bean-компонентов, чтобы она стала областью запроса, но они не работают.

@ManagedBean(name="helloBean") //meant for JSF
@RequestScoped //meant for JSF
@Scope(value="request") //meant for spring
@Controller //meant for spring
public class HelloBean implements Serializable {

Раньше я использовал простой JSF, и @ManagedBean и @RequestScoped работали хорошо. Теперь, когда я пытался интегрироваться с помощью Spring, объем не работает.

Я даже пытался установить область действия bean-компонента в конфигурации Spring, но они работают, как и ожидалось, в контексте Spring (синглтон и прототип), но не в контексте веб-запроса.

Я пытался избежать использования вышеуказанных аннотаций @Scope и @Controller, надеясь, что JSF будет управлять областью действия, но не похоже.

Ниже приведены фрагменты моих файлов для конфигурации Spring и MyHelloBean, которые, вероятно, помогут лучше общаться.

<bean id="helloBean" class="com.mkyong.common.HelloBean" init-method="init" />

<bean id="myHelloBean" class="com.mkyong.common.MyHelloBean" init-method="init" >
        <property name="helloBean" ref="helloBean"></property>
</bean>

@ManagedBean
@RequestScoped
@Scope(value="request")
@Controller
public class MyHelloBean implements Serializable {

    private static final long serialVersionUID = 1L;
    //@ManagedProperty(value = "#{helloBean}")
    private HelloBean helloBean;

см. выше MyHelloBean. Я использую Spring DI для установки helloBean, который устанавливается Spring Fine. Я прокомментировал @ManagedBean, который, я думаю, я могу оставить там, так как весной он будет проигнорирован в любом случае, и JSF не собирается его обрабатывать, я думаю, но на всякий случай я прокомментировал его, чтобы JSF не обрабатывал его.

Чтобы завершить, я использую ниже в Faces-config, чтобы активировать использование весны.

<el-resolver> 
org.springframework.web.jsf.el.SpringBeanFacesELResolver 
</el-resolver> 

С уважением,

Митен.

5
задан Miten 31 May 2012 в 07:15
поделиться