我想知道我是否有相同的发现,但是在创建从 jboss maven 原型生成的 javaee6 Web 项目后,我得到了以下结果。
f:viewParam,仅在请求范围内不适用于依赖或视图范围。
public class BaseBean {
protected boolean edit;
public boolean isEdit() {
System.out.println("get edit=" + edit);
return edit;
}
public void setEdit(boolean edit) {
System.out.println("set edit=" + edit);
this.edit = edit;
}
}
@Named
@RequestScoped
public class RequestBean extends BaseBean { }
@Named
public class DependentBean extends BaseBean { }
@Named
@ViewScoped
public class ViewBean extends BaseBean { }
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
template="/WEB-INF/templates/default.xhtml">
<ui:define name="metadata">
<f:metadata>
<f:viewParam name="edit" value="#{dependentBean.edit}" />
</f:metadata>
</ui:define>
<ui:define name="content">
<h:outputText value="#{dependentBean.edit}"></h:outputText>
</ui:define>
</ui:composition>
对于请求和视图范围视图,除了使用的管理 bean 之外,它与上面的几乎相同。
任何想法?