【发布时间】:2011-09-16 16:54:36
【问题描述】:
我定义了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>
豆子
@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
【问题讨论】:
-
应该可以正常工作。您是否没有编辑/过度简化错误消息或
f:viewParam?听起来好像您正在尝试在实际上是null的嵌套属性上设置视图参数。 -
错误是原来的那个。我创建了一个复制问题的新页面,但我仍然遇到了问题。我还添加了一个构造函数,看看它是否真的被调用了,显然不是。