2010-08-23 9 views
13

मेरे पास टाइल का उपयोग करते हुए स्प्रिंग एमवीसी/3.0 ऐप है, यह ठीक काम कर रहा है, हालांकि मैं यह नहीं समझ सकता कि त्रुटि पृष्ठों को टाइल्स का उपयोग करने के लिए कैसे प्राप्त किया जाए।स्प्रिंग/एमवीसी 3.0 ऐप में टाइल्स के साथ मेरे पास सामान्य त्रुटि पृष्ठ टेम्पलेट्स कैसे हैं?

मैं में मेरे web.xml

<error-page> 
    <error-code>404</error-code> 
    <location>/WEB-INF/error/404.jsp</location> 
</error-page> 

जो ठीक टाइल्स का उपयोग कर नहीं एक साधारण दृश्य के रूप में काम करता है, लेकिन जब मैं दृश्य नामों में से एक के लिए स्थान बदलने के लिए, दृश्य नहीं मिला है और साधारण त्रुटि renders पृष्ठ।

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
    <list> 
     <value>/WEB-INF/**/tiles.xml</value> 
    </list> 
    </property> 
</bean> 

मैं शक कर रहा हूँ यह सब देखने के कारण नहीं है:

देखने के लिए मेरे tiles.xml फ़ाइल निम्नलिखित परिभाषा

<definition name="404" extends="standardLayout"> 
    <put-attribute name="body" value="/WEB-INF/error/404.jsp" /> 
</definition> 

मैं वसंत के माध्यम से टाइल्स को विन्यस्त कर रहा हूँ इस प्रकार होता है वसंत से ही आ रहा है?

उत्तर

25

आपको अपने web.xml में "लेआउट" jsp जोड़ने की आवश्यकता है।

<definition name="error/*" template="/views/error/layout.jsp"> 
    <put-attribute name="body" value="/views/error/{1}.jsp" /> 
</definition> 

और वसंत MVC के साथ संभाल कि, जैसे::

@ExceptionHandler({ MissingResourceException.class }) 
@ResponseStatus(HttpStatus.NOT_FOUND) 
public String handleMissingResource(Exception e) { 
    return "error/404"; 
} 

इस में

// Your web.xml should look like this: 
<error-page> 
    <error-code>404</error-code> 
    <location>/WEB-INF/error/layout-404.jsp</location> 
</error-page> 


// Your layout-404.jsp should look like this: 
<%@page isELIgnored="false" %> 
<%@page contentType="text/html"%> 
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> 
<tiles:insertDefinition name="404" />  


// Your layout def should look like this: 
<definition name="404" extends="standardLayout"> 
    <put-attribute name="body" value="/WEB-INF/error/404.jsp" /> 
</definition> 
+0

नायकस, मैं आपको धन्यवाद नहीं दे सकता। यह एक आकर्षण की तरह काम करता है। मैं वसंत, वसंत-एमवीसी, टाइल्स, .NET से आने के लिए नया हूँ। इस तरह की चीजें बहुत लंबा रास्ता तय करती हैं, धन्यवाद। –

+0

हां, यह एक आकर्षण की तरह काम करता है। आपका बहुत बहुत धन्यवाद! – ducin

+0

@tkoomzaaskz आपका स्वागत है – naikus

1

यह टाइल में त्रुटि टेम्पलेट परिभाषित करने के लिए सिर्फ आसान हो जाएगा: नीचे explaination कोड है मामले में, आपको अपने वेब.एक्सएमएल में त्रुटि पेज जोड़ने की ज़रूरत नहीं है, और एक .jsp फ़ाइल प्रति त्रुटि पृष्ठ पर्याप्त होगा।

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