Передача входного текста JSF 1.2 методу в сессионном компоненте

Я изучаю JSF 1.2, и у меня есть сценарий, где представление "profile.jsf" отображается с использованием bean-объекта запроса BeanProfile, Бин "BeanProfile" является бином запроса, потому что мне нужны обновленные данные в каждом запросе и обновление представления. По мнению есть <h:commandButton/> который вызывает метод в сессионном компоненте LoginBean и который должен обновить профиль пользователя перед его сохранением. Итак, мне нужно передать всю информацию в представлении профиля методу в сессионном компоненте. Я пытался использовать <f:attribute/> в <h:commandButton/> как это:

<h:commandButton id="submit" actionListener="#{beanLogin.updateUser}" value="Update">
    <f:attribute name="ttt" value="789"/> <!-- just for debug -->
    <f:attribute name="name" value="#{name}" /> <!-- I will pass just that one for the moment -->
</h:commandButton>

и компонент:

<h:inputText id="name"
             binding="#{name}"
             value="#{beanProfile.name}"
             required="true" /> 

в моем методе у меня есть:

public void updateUser(ActionEvent event) {
    /*Debug*/
    System.err.println("size: "+event.getComponent().getAttributes().size());
    System.err.println("--"+(String) event.getComponent().getAttributes()
            .get("ttt")+"--");;
    UIInput input = (UIInput) event.getComponent().getAttributes().get("name");
    String text = (String) input.getSubmittedValue();
    System.err.println("++"+text+"++");
}

В результате я получаю:

2014-12-20T01:43:25.850+0100|Severe: size: 1
2014-12-20T01:43:25.850+0100|Severe: --789--
java.lang.NullPointerException ...

Таким образом, я передал 2 параметра, и я получил только один в методе в сессионном компоненте, и это вызвало java.lang.NullPointerException, Я не знаю, что я делаю неправильно. Я работаю в Eclipse 4.4.1 SR1, используя динамический веб-модуль 3.0 и GlassFish Server Open Source Edition 4.1, которая включает Mojarra 2.2.7.

Обновить:

Я попробовал тот же код, используя tomcat 8.0.15, MyFaces 1.2.12 и JSTL 1.2, которые я уже использовал с GlassFish и Mojarra. У меня та же проблема, и я обнаружил, что инъекция бобов думала, что managed-property в Face-config.xml также не работает (нулевое значение) в обеих конфигурациях, которые я использовал.

0 ответов

Другие вопросы по тегам