2011-03-10 16 views
30

, URL modelleri, fiiller ve bunların eşleme bir tablo oluşturmak için bir yol var? Bir şey gibi:Bahar MVC'de, tanınan Denetleyiciler ve Görünümler listesi oluşturmanın bir yolu var mı? Ek açıklama güdümlü Bahar MVC

/foo/{fooId}  | GET | FooController.get()  | jsp/foo/home.jsp  | 
/foo/{fooId}/bars/ | GET | FooController.getBars() | jsp/foo/bar/index.jsp | 
+1

1 harika bir soru! – Nilesh

+0

Sorumun cevabı değil ama yararlı olabilir ... org.springframework (LOG4J yapılandırma) için DEBUG seviyesinde kaydetme açın. Konteyner başlatılırken onların eşleşen kontrolörleri ve yöntemlere (HTTP fiilini ya da JSP yolu olsun sanmıyorum) – nickdos

cevap

10

bu bana yardımcı oldu.

<!-- Appenders --> 
<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%-5p: %c - %m%n" /> 
    </layout> 
</appender> 


<!-- 3rdparty Loggers --> 
<logger name="org.springframework.core"> 
    <level value="info" /> 
</logger> 

<logger name="org.springframework.beans"> 
    <level value="info" /> 
</logger> 

<logger name="org.springframework.context"> 
    <level value="info" /> 
</logger> 

<logger name="org.springframework.http"> 
    <level value="debug" /> 
</logger> 
    <!-- below alternate between debug and info --> 
<logger name="org.springframework.web"> 
    <level value="debug" /> 
</logger> 
+1

benim için çalıştı ama bu size xml dosyasında gereken tüm olmadığına dikkat ile URI modelleri listesi olsun .. buna da ihtiyacınız var ...

+0

benim için çalışmıyor, bahar 4.0.0 – NickJ

5

Bu john Fuhr yalnızca URL eşleştirmeleri, bahar çerçevesinden değil herşeyi log açısından daha belirgin hariç belirtildiği gibi aynı yaklaşımdır: log4j.xml içine aşağıdaki koydu. Ben de .xml yerine log4j.properties kullanıyorum, ancak isterseniz onu dönüştürebilirsiniz. Ben de tanımlanmış mainAppender adlı bir ekleyiciye sahip olduğunuzu farz ediyorum.

Spring 3.2.2.RELEASE kullanıyorum ama çok diğer sürümleri ile çalışabilir. Ayrıca durdurmak için şu iki satırı eklemek isteyebilirsiniz

log4j.logger.org.springframework.web.servlet.handler.SimpleUrlHandlerMapping=INFO, mainAppender 

:

log4j.logger.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=INFO, mainAppender 

Bu <mvc:resources /> tanımları sorumlu logger geçerli:

Bu logger bir @RequestMapping ile işaretlemek şey sorumludur Eğer bunu tecrübe ederseniz, çıktıyı çoğaltır (aynı satırı iki kez basar).

log4j.additivity.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=false 
    log4j.additivity.org.springframework.web.servlet.handler.SimpleUrlHandlerMapping=false 

Bu

çıktı örneğidir alıyorum:

14:29:43 INFO RequestMappingHandlerMapping.registerHandlerMethod():185 - Mapped "{[/splash],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String au.org.example.HomeController.splash(org.springframework.ui.Model) 
14:29:43 INFO RequestMappingHandlerMapping.registerHandlerMethod():185 - Mapped "{[/home],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String au.org.example.HomeController.home(boolean,int,org.springframework.ui.Model) 
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():302 - Root mapping to handler of type [class org.springframework.web.servlet.mvc.ParameterizableViewController] 
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/js/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0' 
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/images/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#1' 
14:29:44 INFO SimpleUrlHandlerMapping.registerHandler():315 - Mapped URL path [/css/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#2' 

O sonra ne konum kadar güzel değil ama senin örneğin tablosundan (size bilgi ilk üç sütun veriyor). Görünüm isimlerini maalesef alamıyorsun.