2015-05-11 9 views
0

У меня есть текстовое поле и два класса управляемого компонента, а именно: LoginMB и QuestionMB. Оба параметра имеют параметр login_id. Как сохранить значение текстового поля одновременно в управляемых компонентах?Сохраните значение текстового поля для двух классов управляемых компонентов

Я использую jsf версии 1.2 и jsp-страницы.

+0

Спасибо all.I сделал это без использования FacesContext Thanks.While отправки формы я использовал '<ч: CommandButton значение = "Отправить" действие = "# {loginMB.save}">! ' – Santosh

ответ

0

Вы можете сохранить значение TextBox в переменной сеанса, а затем сохранить его в ваших бобов, как это,

FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(key,object); 

или в CommandButton щелчком мыши вы можете передать его в качестве параметра и сохранить его в вашем второй компонент.

Here is an example of passing a parameter

0

Когда мне нужно сделать что-то вроде этого я непосредственно послать значение одному из фасоли и загрузить другой компонент внутри первого. После этого вы можете установить значение на второе.

Я приведу вам пример, если компонент в контексте приложения, вы должны делать небольшие изменения в соответствии с вашими потребностями.

first bean { 

ApplicationView appView = BeanUtil.findBean("applicationView", FacesContext.getCurrentInstance()); 

appView.setYourValue(); 

} 


import javax.faces.context.FacesContext; 

public class BeanUtil { 

    @SuppressWarnings("unchecked") 
    public static <T> T findBean(String beanName, FacesContext context) { 
     return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class); 
    } 

} 
0

Не могли бы вы попробовать использовать binding атрибут для создания компоненты во втором компоненте и установить соответствующее значение из компонента в login_id?

Другим способом является создание valueChangeListener для второго компонента, который вызывается при каждом изменении текстового поля, а также в значении login_id для прослушивания в бэк-компоненте.