抱歉标题错误,请随时编辑。
所以我有这段代码:
<h:outputLink value="goodbye.xhtml">
Go to goodbye!
<f:param name="msg" value="test_one" />
</h:outputLink>
所以点击后,我会以 goodbye.xhtml 结尾,其代码如下:
<f:view>
<f:metadata>
<f:viewParam name="msg" value="#{blahBlah.parameter}"/>
</f:metadata>
<h:body>
#{blahBlah.parameter}
</h:body>
</f:view>
所以当我按照以下方式使用BlahBlah.java时:
@ManagedBean
@SessionScoped
public class BlahBlah {
private String parameter;
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
if (parameter.equals("test_one")) {
this.parameter = "test_one_modified";
return;
}
this.parameter = parameter;
}
}
我会在 goodbye.xhtml 上看到 test_one_modified ,这很好。
但是当我按照以下方式修改BlahBlah.java时:
@ManagedBean
@SessionScoped
public class BlahBlah {
private String parameter;
public String getParameter() {
if (parameter.equals("test_one")) {
this.parameter = "test_one_modified";
}
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
}
我期望再次看到 test_one_modified ,但我会得到一个不错的空指针异常。
不是
<f:viewParam name="msg" value="#{blahBlah.parameter}"/>
应该设置 BlahBlah.parameter?