2012-05-10 14 views
28

संभव डुप्लिकेट:
JSP tricks to make templating easier?जेएसपी लेआउट टेम्पलेट बनाने का सबसे अच्छा तरीका क्या है?

मैं JSPs और सर्वलेट वे करने के लिए नए हूँ, मैं सोच रहा हूँ वहाँ एक साफ रास्ता एक लेआउट jsp बना सकते हैं और समान jsp पृष्ठों पर यह पुन: उपयोग करने के लिए है , एएसपीनेट मास्टर पेजों की तरह कुछ।

मैंने इसे गुगल किया, कुछ लोग कहते हैं कि टेम्पलेट्स http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates जो जेएसटीएल टैग लाइब्रेरी का उपयोग करता है। यह इस तरह एक टैग डाल करने के लिए कहते हैं:

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

लेकिन मैं त्रुटि मिलती है (क्योंकि jstl.jar और standard.jar वेब-INF/lib/निर्देशिका में हैं)।

हालांकि कुछ लोगों का कहना JSTL टेम्पलेट इस Struts OR Tiles OR ???...... JSP template solution

मैं मेरे लिए सबसे अच्छा तरीका पता है मदद करने के लिए खुशी होगी के अनुसार समस्या है।

संपादित करें: मैं क्या जरूरत है सामग्री, शीर्षक, जैसे भागों में पृष्ठ के लेआउट को विभाजित ... और पेज लेआउट टेम्पलेट का उपयोग करता है में इस भागों निर्धारित करते हैं, वास्तव में 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

वेब-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> 

यही करता है कि आप क्या सोचते यह करता है!

यह this link पर विल Hartung द्वारा एक महान जवाब का हिस्सा था।

संबंधित मुद्दे