How to conditionally include a file in my template

2019-03-27 20:29发布

So, my template includes a footer.xhtml

<ui:include src="/WEB-INF/testtaker/Footer.xhtml"/>

What I want to do is change the footer based on some users pref to different Footer_???.xhtml file.

So, I'd like to do something like this:

<ui:include src="/WEB-INF/testtaker/Footer_001.xhtml">
      Content from original Footer.xhtml
</ui:include>

and if Footer_001.xhtml doesn't exist, then let it use the content between the tags, otherwise use the content from the file.

I know this seems a little odd, but this will solve a huge problem of customizing my existing site with out having to make changes to includes all over the place. Plus I'm not sure the file will exist before hand or not.

Any thoughts?

1条回答
小情绪 Triste *
2楼-- · 2019-03-27 20:50

You can use EL in <ui:include src>.

<ui:include src="/WEB-INF/testtaker/Footer#{user.prefs.footerId}.xhtml" />

If #{user.prefs.footerId} returns null or an empty string, it'll become just Footer.xhtml.

查看更多
登录 后发表回答