ViewParam и сессионный компонент - PullRequest
1 голос
/ 16 сентября 2011

Я определил viewParam для обработки GET запроса, но сессионный компонент имеет значение null.

/treeTable2.xhtml @28,119 value="#{conformanceProfileController.dataValueAssertionController.library_line}": Target Unreachable, identifier 'conformanceProfileController' resolved to null

GET запрос:

treeTable2.jsf?category=Message

Код XHTML

<f:metadata>
  <f:viewParam name="category" value="#{conformanceProfileController.category}" />
</f:metadata>

Боб

@ManagedBean
@SessionScoped
public class ConformanceProfileController implements Serializable {
    private String category;

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }
}

Мой сервер разработки Tomcat 7.0, и я использую Mojarra 2.1.0

EDIT : я создал упрощенную версию с новой страницей и новым компонентом. Код в посте такой же, как на моей машине.

Код XHTML:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    >
<h:head>
</h:head>
<f:metadata>
    <f:viewParam name="category" value="#{myBean.category}" />
</f:metadata>
<h:body>
</h:body>
</html>

MyBean:

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class MyBean implements Serializable {
    private String category;

    public MyBean() {
        System.out.println("Creation");
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

}

Запрос GET : treeTable3.jsf?category=Message

Сообщение об ошибке: /treeTable3.xhtml @8,60 value="#{myBean.category}": Target Unreachable, identifier 'myBean' resolved to null

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Mojarra 2.1.0 не работают в Tomcat / Jetty из-за ошибки в сканировании аннотаций. Обновление до версии 2.1.1 или до текущей 2.1.3.

Это не имеет ничего общего с параметрами представления или сессионными компонентами. Он просто потерпит неудачу во всех случаях, когда вы ожидаете @ManagedBean.

0 голосов
/ 16 сентября 2011

Попробуйте аннотацию @Named: http://download.oracle.com/javaee/6/tutorial/doc/gjbak.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...