我有一个基于JSF 1.2的Servlet。如果用户闲置一段时间,我会做会话失效。我必须在会话失效发生前1分钟向用户显示一个Jquery对话框,并询问用户是否要继续或注销。
我在xhtml页面(session.xhtml)中有Jquery对话框的代码。我的网络应用程序中有近15-20页。用户可以在这15-20页中的任何一页中保持空闲。所以,我需要在我的所有xhtml页面中包含session.xhtml页面。我是通过在我的所有页面中使用下面的代码来做到这一点的。
<ui:insert>
<ui:include src="/session.xhtml" />
</ui:insert>
我这里有两个问题。
a)随着我的网页应用程序中页面数量的增长,我需要继续为每个页面添加上述代码
b)代码可维护性:如果其他人必须在我的网络应用程序中开发一些页面,他可能不记得包含上面的代码
所以,问题是,有没有什么方法可以把这个页面(比如在web.xml或某些xml文件中的某些位置),默认情况下,这个session.xhtml可用于我的网页中的所有页面应用
答案 0 :(得分:1)
视图文件可能有一个模板(这是一个很好的做法):
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a="http://richfaces.org/a4j"
...
template="../layout/maintemplate.xhtml">
您可以将常用逻辑放入maintemplate.xhtml中。 希望这有帮助。