【问题标题】:JSF page splittingJSF 页面拆分
【发布时间】:2013-02-12 13:11:27
【问题描述】:

在使用 JSF 1.2 期间,一页代码太大,JDeveloper 给出了服务方法中的代码太大异常。现在我想将我的 JSF 文件拆分为更小的文件。在拆分过程中,我需要一些帮助和建议。

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

【问题讨论】:

    标签: jsf jsf-1.2


    【解决方案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>
    

    【讨论】:

    • 非常感谢它为我工作:)。实际上我对在拆分页面中使用一个 bean 感到困惑。还有一件事要问我是否在 include1.jsp、include2.jsp、include3.jsp 页面中使用 那么有什么区别或影响?
    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 2014-06-21
    • 1970-01-01
    • 2020-03-04
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    相关资源
    最近更新 更多