2012-05-10 16 views
28

可能性の重複:
JSP tricks to make templating easier?JSPレイアウトテンプレートを作成する最も良い方法は何ですか?

私は思ったんだけど、JSPとサーブレットへの新たなんだレイアウトJSPを作成し、同様のJSPページ上でそれを再利用するためにきちんとした方法があります、asp.netマスターページのようなものです。

私はそれをgoogled、いくつかの人は、テンプレートを使用して http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates jstlタグライブラリを使用します。

<%@ taglib uri='/WEB-INF/tlds/template.tld' prefix='template' %> 

が、(jstl.jarとstandard.jarは、WEB-INF/lib /ディレクトリにあるため)、私はエラーを取得する:それは、このようなタグを置くことを言います。

は、しかし、いくつかは、JSTLのテンプレートは、私は私が最善の方法を知って助けて喜んでいるだろう、この Struts OR Tiles OR ???...... JSP template solution

に応じて問題を持っていると言います。

EDIT:ページのレイアウトをコンテンツ、ヘッダーなどの部分に分割し、レイアウトテンプレートを使用するページで、asp.netマスターページのように設定します。

+1

可能な解決策 http://stackoverflow.com/questions/1296235/jsp-tricks-to-make-templating-easier http://www.javaworld.com/javaworld/jw-09-2000/jw-0915 -jspweb.html私は最善の方法を知らない – shareef

+0

最初のリンクが素晴らしいと思うおかげで http://stackoverflow.com/questions/1296235/jsp-tricks-to-make-templating-easier – Ashkan

答えて

74

これを使用するにはWEB-INF /タグ/ genericpage.tag

<%@tag description="Overall Page template" pageEncoding="UTF-8"%> 
<%@attribute name="header" fragment="true" %> 
<%@attribute name="footer" fragment="true" %> 
<html> 
    <body> 
    <div id="pageheader"> 
     <jsp:invoke fragment="header"/> 
    </div> 
    <div id="body"> 
     <jsp:doBody/> 
    </div> 
    <div id="pagefooter"> 
     <jsp:invoke fragment="footer"/> 
    </div> 
    </body> 
</html> 

に次のように置く:あなたはそれがないと思うまさにん

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %> 

<t:genericpage> 
    <jsp:attribute name="header"> 
     <h1>Welcome</h1> 
    </jsp:attribute> 
    <jsp:attribute name="footer"> 
     <p id="copyright">Copyright 1927, Future Bits When There Be Bits Inc.</p> 
    </jsp:attribute> 
    <jsp:body> 
     <p>Hi I'm the heart of the message</p> 
    </jsp:body> 
</t:genericpage> 

を!

これは、Will Hartungの偉大な答えの一部です(this link)。

関連する問題