从枚举动态包含JSF中的文件?

时间:2013-03-12 15:56:53

标签: jsf enums include switch-statement facelets

我想在一个Type之间切换,在我的Bean中设置为枚举,以动态包含.xhtml文件。

我有对象设备的类型:

public static enum Type {
    Android, iOS, WP7, Windows, Blackberry;
}

在这里,我想动态地包含不同的.xhtml文件:

<ui:include src="./preview/WelcomePreviewAndroid.xhtml" />
<ui:include src="./preview/WelcomePreviewiOS.xhtml" />
<ui:include src="./preview/WelcomePreviewBlackberry.xhtml" />

这应取决于设备中设置的类型:

#{skinningBean.currentDevice.type}

如何实现switch语句?

1 个答案:

答案 0 :(得分:1)

使用渲染属性,您可以设置是否应显示项目。 因为它不包含任何渲染属性,所以你必须用另一个div包围它,例如:

<h:panelGroup layout="block" rendered="#{skinningBean.currentDevice.type == 'android'}">
    <ui:include src="./preview/WelcomePreviewAndroid.xhtml" />
</h:panelGroup>