Я использую настраиваемый компонент области видимости под управлением Spring в приложении JSF2 - Spring. Я хочу вставить компонент в компонент области запроса. Однако похоже, что я получаю новый экземпляр компонента настраиваемого вида видимости каждый раз, когда вызывается бранд области запроса.Вкладной компонент произвольной видимости в приложении JSF 2
мой взгляд сфера боб, как показано ниже
@Component("registration")
@Scope("view")
public class RegistrationBean implements Serializable
Мой запрос сфера боб выглядит следующим образом
@Component("registrationController")
@Scope("request")
public class RegistrationController implements Serializable
{
@Autowired(required=false)
@Qualifier("registration")
private RegistrationBean registration;
.....
}
Если я использовать вид области действия боба непосредственно в моих Facelets, все мои ценности сохранились. Однако, если я получаю доступ к тому же через мой компонент области запроса, значения не сохраняются.
Основываясь на моих исследованиях, я могу увидеть примеры, в которых JSF управляемый элемент области представления представлений был введен в JSF-управляемый объект области видимости запроса, однако я не смог найти какой-либо экземпляр вышеупомянутой проблемы.
Любая информация в понимании этого вопроса очень ценится. Заранее спасибо.
Просто хотел добавить, что если я преобразую свой настраиваемый компонент видимости в стандартный компонент области сеанса, то все будет хорошо. Я могу получить доступ к нему из моего компонента области запроса. – user1159790
У вас есть прямой доступ к объекту «Вид» в ваших лицевах? Если вы этого не сделаете, в вашем запросе Bean будет создан новый экземпляр (я не уверен, как Spring делает поверх JSF). Но как что-либо, созданное в запросе, оно уничтожается с завершением запроса. Следующий запрос просто заново создаст новый экземпляр «регистрации». – JScoobyCed
Я получаю доступ к представлению beobe bean непосредственно в моих манекенах. Я хочу получить доступ к компоненту представления в контроллере, когда выполняю действия. – user1159790