powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF проблема с javax.inject.Named
4 сообщений из 4, страница 1 из 1
JSF проблема с javax.inject.Named
    #38217430
mvn3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Раньше с JSF не работал, сейчас знакомлюсь, и не могу понять в чем траблы.
Создал 2 страницы: 1-я login/pass, 2-я: Hello #{user.login}.

По дока написано, если разворачивается на AppServer EE6 тогда бин должен быть аннатирован как @Named, если Томкат - @ManagedBean.
Пытаюсь развернуть на JBoss AS 7.1, и получается что при использовании аннотоации @ManagedBean(name = "user") - все работает ОК,
а при @Named(value = "user") - ругается,
javax.el.PropertyNotFoundException: /index.xhtml @19,56 value="#{user.name}": Target Unreachable, identifier 'user' resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
at javax.faces.component.UIInput.validate(UIInput.java:960)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:722)


Вот простенький бин
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.inject.Named;
import java.io.Serializable;


@Named(value = "user") -- тут ошибка
//@ManagedBean(name = "user") --- тут все ок
@SessionScoped
public class User implements Serializable {
    private String name;
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}




Ну и "сложнейшая" JSF страница

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<h:body>
    <h:form>
        <h3>Please login</h3>
        <table>
            <tr>
                <td>Login:</td>
                <td><h:inputText value="#{user.name}"/> </td>
            </tr>
            <tr>
                <td>Password:</td>
                <td><h:inputSecret value="#{user.password}"/> </td>
            </tr>
        </table>
        <h:commandButton value="Login" action="welcome"/>
    </h:form>
</h:body>



В чем проблема:
...
Рейтинг: 0 / 0
JSF проблема с javax.inject.Named
    #38217488
bourne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mvn3,

beans.xml в META-INF отсутствует
...
Рейтинг: 0 / 0
JSF проблема с javax.inject.Named
    #38217498
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mvn3,
не 100% уверен, но для использования @Named необходимо создать beans.xml.
Если это делается в Eclipse, то открываем свойства проекта -> Project Facets -> CDI (а в дополнительных действиях указываем генерацию beans.xml)
...
Рейтинг: 0 / 0
JSF проблема с javax.inject.Named
    #38217636
mvn3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да все верно, не хватало beans.xml

спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF проблема с javax.inject.Named
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]