Внедрить компонент CDI в компонент JSF @ViewScoped
У меня проблема с проектом JSF, CDI. Я сделал много исследований, и я обнаружил, что в CDI нет@ViewedScoped
аннотаций. Я решил проблему с AJAX страницей с диалогом. Я хочу передать переменную в диалоговое окно из datatable. Для этого я не могу использовать@RequestedScoped
bean, потому что значение отбрасывается после завершения запроса. Может кто-нибудь помочь мне решить это? Я не могу использовать@SessionScoped
но это плохая практика ИМХО. Или, может быть, сохранить только одну переменную в сеанс, который знает. Ребята, можете ли вы дать мне какие-нибудь советы, как решить эту проблему элегантно?
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class ServiceBean implements Serializable {
...
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class SomeBean {
@Inject
ServiceBean serviceBean;
@Postconstruct ...
Вот сообщение об ошибке:
com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean warDetailBean