2012-12-13 15 views
5

bugün bahar ins@MatrixVariable açıklama hakkında bazı bilgiler STS gösterge tablosundan Bahar MVC vitrin dowlodable okuyorum 3.2

Ben Bahar tarafından 3.2 sürümü ve kullanımını ait tanıtılan yeni açıklama @MatrixVariable hakkında bazı şüphe URI yolundaki Matrix değişkenleri. Benim home.jsp görünümde

aşağıda linkini vardır:

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

resmi dokümantasyon burada yaklaşık @MatrixVariable ek açıklama Okuma:

: Aşağıdaki şey anlamıyorum sahip http://static.springsource.org/spring-framework/docs/3.2.0.M2/reference/html/mvc.html#mvc-ann-matrix-variables

1) Matris değişkenleri herhangi URL yolu segmentinde bu değişkeni koyabilirsiniz 2) bir çift

Yani önceki bağlantı hakkında bazı şüphelerim var: Ben previus bağlantıyı tıkladığınızda URI denir ne

  1. ?

    Öyle mi/spring-mvc-vitrin/veri/matrixvars/basit?!?! (Ile spring-mvc-vitrin sadece uygulama adıdır)

  2. Ben başka bir pozisyonda "foo" matris değişkeni koymuştu eğer kayıtsız It olurdu? Bu şekilde "fon" Düşük kademe koymak Örneğin

:

"/ veri, foo = çubuk/matrixvars/basit"

veya bu şekilde

:

"/ veri/matrixvars/basit; foo = bar"

aynı anlamı mı?

@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 + "'"; 
} 

Bu yöntem URI belirli bir konumda katılmaya URI Şablon modelini kullanın:

Tamam, şimdi bu bağlantıyı tıklayarak üretilen HTTP isteği kolları kontrolör yöntemidir.

Yani benim URI ise veri/matrixvars/ basit ve benim bütün sınıf @ RequestMapping ("/ data") açıklama tarafından işaretlenmiştir ve benim denetleyicisi yöntemi tarafından işaretlenmiştir çünkü: @ RequestMapping (değer =" {path}/simple ", method = RequestMethod.GET) aşağıdaki anlama gelir?

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

bu doğru mu:

yol URI Şablon değişkeni

ikinci URI konumuna (yani şimdiki URI matrixvars mi) şöyle de URI işleyebilir bu yöntem ve ilgilidir?

Çok teşekkür ederim

Andrea

cevap

1

Yanıtlar: Ben [/data/matrixvars;foo=bar/simple] linke tıkladığınızda URI denir ne

? Görüş tarayıcının açısından

  • , URI verilen tam olarak. Yay MVC
  • , bu /data/matrixvars/simple olduğu; Matris değişkenleri URI'nin isteğe bağlı bileşenleri olarak kabul edildiğinden, gerçek matris değişkenleri URI'dan "kaybolur".

"Foo" matris değişkenini başka bir konuma koymuş olsaydım kayıtsız olurdu.

  • NO. Matris değişkenleri, yoldaki konumlarına bağlanır. Onları farklı bir yol konumuna taşırsanız, anlamlarını değiştirirler. /spring-mvc-showcase/data/SOMETHING;foo=bar/simple
gibi bir şey destekleyen tanımlanan

... yani bu yöntem foo MatrixVariable ile/spring-mvc-showcase/data/SOMETHING/simple

  • Doğru gibi ayrıca URI işleyebilir