2013-02-12 185 views
0

在使用JSF 1.2期間,一個頁面代碼太大而JDeveloper在服務方法異常中給出了太大的代碼。現在我想將我的JSF文件分割成更小的文件。在分裂期間,我需要一些幫助和建議。JSF頁面拆分

由於整個頁面都綁定了一個單獨的bean,是否還需要分割這個bean?如果沒有,那麼如何克服這一點?什麼是分割JSF文件幷包含在主頁面中的最佳方式?

回答

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> 

同時保持豆類如下你可以把它分解:

<%@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> 
+0

非常感謝公司對我的作品:)。實際上,我對使用分割頁面中的一個bean感到困惑。有一件事要問,如果我在include1.jsp,include2.jsp,include3.jsp頁面中使用那麼有什麼區別或影響? – seeker 2013-02-13 16:28:31