我是 JSF 的新手,并试图了解 include 和 param 如何工作,但一直卡住。任何帮助深表感谢。
我有 2 个简单页面(用于测试目的),Page1.xhtml 和 Page2.xhtml。我想在 Page1 中使用一个参数将 Page2 包含到 Page1 中。当我直接调用Page2时,我可以看到正确传递的参数,但是当我调用Page1时,Page2被包含而没有参数。下面是代码。
第 1 页:
<h:body>
<h:form id="test">
<b>Page 1</b><br/>
<ui:include src="Page2.xhtml">
<ui:param name="id" value="123" />
</ui:include>
<b>End of Page 1</b>
</h:form>
第2页:
<h:head>
<f:view contentType="text/html"></f:view>
</h:head>
<h:body>
<h:form>
<h:outputLabel for="ID" value="ID on Page2: "/>
<h:outputText id="ID" value="#{pageTestBean.id}"/>
</h:form>
</h:body>
</html>
PageTestBean: @ManagedBean @SessionScoped 公共类 PageTestBean {
private Long id=new Long(11111);
public void init() {
//doesn't do anything yet;
}
// Getters and Setters
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
我希望看到“123”作为 Page1 上的输出 Id,而不是“11111”,这是没有传入参数时的默认值。但是,我总是看到 11111。我的期望错了吗?