2012-12-13 14 views
5

आज मैं एसटीएस डैशबोर्ड से वसंत MVC शोकेस dowlodable पढ़ रहा हूँ@MatrixVariable एनोटेशन बारे में कुछ जानकारी स्प्रिंग आईएनएस 3.2

मैं टिप्पणियों के लिए नए @MatrixVariable स्प्रिंग द्वारा शुरू की 3.2 संस्करण और के उपयोग के बारे में कुछ संदेह है यूआरआई पथ में मैट्रिक्स चर।

मेरी home.jsp दृश्य में

मैं नीचे दिए गए लिंक है:

<a id="matrixVar" class="textLink" href="<c:url value="/data/matrixvars;foo=bar/simple" />">Matrix variable</a> 

यहां आधिकारिक दस्तावेज पढ़ना के बारे में @MatrixVariable एनोटेशन:

: http://static.springsource.org/spring-framework/docs/3.2.0.M2/reference/html/mvc.html#mvc-ann-matrix-variables

मैं निम्नलिखित बात को समझते है

1) मैट्रिक्स वैरिएबल एक जोड़े हैं 2) मैं इन चर को किसी भी यूआरआई पथ सेगमेंट में रख सकता हूं

तो मैं पिछले लिंक के बारे में कुछ संदेह है:

  1. क्या जब मैं previus लिंक पर क्लिक करें यूआरआई कहा जाता है?

    क्या यह/वसंत-एमवीसी-शोकेस/डेटा/मैट्रिक्सवर्स/सरल है?!? (स्प्रिंग-एमवीसी-शोकेस के साथ जो केवल एप्लिकेशन का नाम है)

  2. अगर मैं किसी अन्य स्थिति में "foo" मैट्रिक्स चर डालता तो यह उदासीन होता?

उदाहरण के लिए अगर मैं इस तरह से "foo" variabile डाल:

"/ डेटा; foo = बार/matrixvars/सरल"

या इस तरह से:

"/ डेटा/मैट्रिक्सवर्स/सरल; foo = bar"

क्या इसका वही अर्थ है?

@RequestMapping(value="{path}/simple", method=RequestMethod.GET) 
public @ResponseBody String withMatrixVariable(@PathVariable String path, @MatrixVariable String foo) { 
    return "Obtained matrix variable 'foo=" + foo + "' from path segment '" + path + "'"; 
} 

इस विधि यूआरआई खाका पैटर्न का उपयोग यूआरआई की एक विशिष्ट स्थान को स्वीकार करने के लिए:

ठीक है, अब इस नियंत्रक विधि है कि लिंक पर क्लिक करके उत्पन्न HTTP अनुरोध संभालती है।

तो अगर मेरे यूआरआई है डेटा/matrixvars/सरल और कारण अपने पूरे वर्ग @RequestMapping ("/ डेटा") एनोटेशन द्वारा annoted है और मेरे नियंत्रक विधि द्वारा annoted है: @RequestMapping (value = " {पथ}/सरल ", विधि = RequestMethod.GET) जिसका मतलब निम्न बात है?

/spring-mvc-showcase/data/SOMETHING/simple 

यह सही है:

पथ यूआरआई टेम्पलेट परिवर्तनीय दूसरा यूआरआई स्थिति (कि में वर्तमान URI matrixvars है) इसलिए इस पद्धति की तरह भी URI को प्रबंधित कर और से संबंधित है?

आपको बहुत बहुत धन्यवाद

एंड्रिया

उत्तर

1

उत्तर:

क्या जब मैं [/data/matrixvars;foo=bar/simple] लिंक पर क्लिक करें यूआरआई कहा जाता है?

  • ब्राउज़र के दृष्टिकोण से, यूआरआई बिल्कुल ठीक है।
  • स्प्रिंग एमवीसी में, यह /data/matrixvars/simple है; यूआरआई से वास्तविक मैट्रिक्स चर "गायब हो जाते हैं" क्योंकि मैट्रिक्स चर को यूआरआई के वैकल्पिक घटक माना जाता है।

अगर मैं किसी अन्य स्थिति में "foo" मैट्रिक्स चर डालता तो यह उदासीन होता?

  • नहीं। मैट्रिक्स चर पथ में अपनी स्थिति से बंधे हैं। यदि आप उन्हें एक अलग पथ स्थिति में ले जाते हैं तो वे अपना अर्थ बदलते हैं।

... इसलिए इस विधि भी यूआरआई/spring-mvc-showcase/data/SOMETHING/simple

  • सही तरह अपने foo MatrixVariable साथ के रूप में /spring-mvc-showcase/data/SOMETHING;foo=bar/simple
की तरह कुछ समर्थन परिभाषित संभाल कर सकते हैं,
संबंधित मुद्दे