0

JSF 1.2での作業中に、1ページのコードが大きすぎ、JDeveloperがサービスメソッドの例外で大きすぎるコードを提供しました。ここで、JSFファイルを小さなファイルに分割したいと思います。分割中に私はいくつかの助けと提案が必要です。

ページ全体が単一のBeanにバインドされるため、Beanを分割する必要もありますか?そうでない場合、これを克服する方法は?JSFファイルを分割してメインページに含めるための最良の方法は何ですか?

4

1 に答える 1

2

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>
于 2013-02-12T13:19:50.123 に答える