2012-04-01 12 views
8

मैं जेएसएफ के साथ खेल रहा हूं और एक प्रोजेक्ट काम कर रहा है जिसमें हेडर/पाद लेख/नेविगेशन/सामग्री पैनल हैं। हालांकि, परियोजना पृष्ठ 1 से पृष्ठ 2, आदि तक जाती है, प्रत्येक पृष्ठ के साथ एक अलग लेआउट होता है। मैं एक पुन: प्रयोज्य टेम्पलेट कैसे बना सकता हूं जो पृष्ठ से पृष्ठ पर समान दिखता है और महसूस करता है, यानी हेडर/पाद लेख/नेविगेशन वही रहता है, लेकिन सामग्री अपडेट की जाती है?हेडर/फ़ूटर/नेविगेशन के साथ पुन: उपयोग करने योग्य टेम्पलेट कैसे बनाएं?

उत्तर

22

यह एक मास्टर टेम्पलेट के क्लासिक मामले की तरह लगता है। इस तरह के एक टेम्पलेट में आप सभी पृष्ठों पर सामान्य सब कुछ डालते हैं और फिर आपके वास्तविक पृष्ठ इस टेम्पलेट का संदर्भ देते हैं और "रिक्त स्थान भरें"। एक तरह से यह क्लासिक भी शामिल है।

उदा।

/WEB-INF/templates/masterTemplate.xhtml:

<!DOCTYPE html> 
<html lang="en" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
> 
    <h:head> 
     <title> 
      <ui:insert name="title">Some title</ui:insert> 
     </title>   
    </h:head> 

    <ui:include src="header.xhtml"/> 

    <h:body> 
     <ui:insert name="content" /> 
    </h:body> 

    <ui:include src="footer.xhtml"/> 

</html> 

एक पेज के रूप में निम्नानुसार इस का उपयोग करता है, उदा

/hello.xhtml

<ui:composition template="/WEB-INF/templates/masterTemplate.xhtml" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
> 
    <ui:define name="title">hello</ui:define> 

    <ui:define name="content"> 
     Hi, this is the page 
    </ui:define> 
</ui:composition> 
+2

लघु और मिठाई .. !!! – kark

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