JSF页面拆分

时间:2013-02-12 13:11:27

标签: jsf jsf-1.2

在使用JSF 1.2期间,一个页面代码太大而JDeveloper在服务方法异常中提供了太大的代码。现在我想将我的JSF文件拆分为较小的文件。在分裂期间,我需要一些帮助和建议。

因为整个页面都绑定了一个bean,是否还需要拆分bean?如果没有,那么如何克服这个?拆分JSF文件并包含在主页中的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您不需要拆分bean。您可以将页面片段拆分为<jsp:include>所包含的多个文件(而不是@include,因为在编译期间会发生这种情况,您最终会得到相同的异常!)。请注意,您应将这些包含文件存储在/WEB-INF文件夹中,以防止最终用户直接访问。

所以给出了这个“超大”页面的例子,

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <div>
            large chunk 1
        </div>
        <div>
            large chunk 2
        </div>
        <div>
            large chunk 3
        </div>
    </body>
</html>

您可以在保留bean时按如下方式拆分:

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <jsp:include page="/WEB-INF/includes/include1.jsp" />
        <jsp:include page="/WEB-INF/includes/include2.jsp" />
        <jsp:include page="/WEB-INF/includes/include3.jsp" />
    </body>
</html>

/WEB-INF/includes/include1.jsp

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<div>
    large chunk 1
</div>

/WEB-INF/includes/include2.jsp

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<div>
    large chunk 2
</div>

/WEB-INF/includes/include3.jsp

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<div>
    large chunk 3
</div>