2013-02-12 88 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