我定义了viewParam
来处理GET
请求,但会话bean是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>
The Bean
@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
编辑:我创建了一个带有新页面和新bean的简化版本。帖子中的代码与我机器上的代码相同。
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
答案 0 :(得分:1)
由于注释扫描中的do not work,Tomcat / Jetty中的Mojarra 2.1.0 a bug。升级到至少2.1.1或current 2.1.3。
这与视图参数或会话范围bean无关。在您期望@ManagedBean
。
答案 1 :(得分:0)