2011-07-07 19 views
7

Spring 3 dokümanlarını görüntü çözücülerle ilgili okudum ... Ama projemde hiç tanımlamadım. Denetleyici yöntemlerinden ModelAndView veya @ResponseBody dizesini döndürüyorum. Önceden yapılandırılmış bir varsayılan görünüm çözümleyicisi (belki de UrlBasedViewResolver) var sanırım. O nedir? Bu konuda dokümanlar hakkında bilgi nereden alabilirim?Varsayılan Spring 3 görünümü çözümleyicisi nedir?

JsonView veya XmlView gibi başka görünümler eklemek istiyorsam (şu anda verileri oluşturan bir Jsp kullanıyorum, ancak okuduğumu okuyup bunları doğrudan Nesne'den geçirerek bunu benim için yapacak özel görünümlere geçirebilirim) Bu varsayılan görünüm çözümleyici ile ilgilenir miyim?

cevap

10

Varsayılan, otomatik olarak kaydedilen bir InternalResourceViewResolver (UrlBasedViewResolver, bunun soyut bir üst sınıfıdır).

Kendi görünüm çözümleyicilerinizi bildirirseniz, varsayılan InternalResourceViewResolver kullanılmaz. Dilerseniz, bunu açık bir fasulye olarak yeniden yapabilirsiniz. Birden çok görünüm çözücüsü varsa, bunlardan biri bir görünüm nesnesini döndürene kadar bunlara başvurulur. Ancak, sunucu API'sinin çalıştığı yoldan dolayı,her zaman zincirdeki son görünüm çözücüsüdür.

Denetleyici yönteminiz bir View nesnesini doğrudan döndürdüyse, görünüm çözümleyici gerekmez ve görünüm doğrudan oluşturulacaktır. Benzer şekilde, @ResponseBody kullanırsanız, görüntü çözümleyici baypas edilir.

+0

Her zaman bahar adamı hakkında her şeyi biliyorsunuz ... siz bir bahar geliştiricisi misiniz? (Neyse teşekkür ederim, merak ediyorum çünkü merak ediyorum!) – gotch4

+8

@ gotch4: Hayır, sadece uzun süre acı çeken bir kullanıcı :) – skaffman

+2

@skaffman, {servletname} -servlet adresimde herhangi bir görüntü çözümleyicisi belirlemedim. "InternalResourceViewResolver" varsayılan olarak varsayılan xml dosyası. Ama ben hata alıyorum 'DispatcherServlet içinde 'lms' ile URI [/ LMS-MVC/userList] ile HTTP isteği için hiçbir eşleme bulunamadı. Şimdi bu çözümleyici el ile yapılandırırsanız, çalışır. Bu davranışı açıklayabilir misiniz? –

İlgili konular