2012-05-31 10 views
7

Sono nuovo in primavera e comincio con semplici tutorial. Mi definisco semplice jsp e Controller, quindi mappato documento XML ed eseguirlo, ma solo quello che ho visto è una mia pagina wev senza valori che ho passato in controler:Spring: come richiamare un controller semplice?

@Controller 
public class HomeController { 

@Autowired 
private ExampleService exampleService; 

@RequestMapping(value = "/", method = RequestMethod.GET) 
public String home(Model model) { 
    model.addAttribute("serverTime", exampleService.getSystemTime()); 
    model.addAttribute("appVersion", exampleService.getAppVersion()); 
    return "home"; 
} 
} 

@Component 
public class ExampleService { 

@Value("#{appProperties.appVersion}") 
private String appVersion; 

/** 
* Returns formatted system time. 
* 
* @return 
*/ 
public String getSystemTime() { 
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); 
return dateFormat.format(new Date()); 
} 

public String getAppVersion() { 
return appVersion; 
} 
} 

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
<display-name>Spring</display-name> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring-config.xml</param-value> 
<!--  <param-value>/WEB-INF/jdbc-config.xml</param-value> --> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>appServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/mvc" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:beans="http://www.springframework.org/schema/beans" 
xmlns:util="http://www.springframework.org/schema/util" 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

<annotation-driven /> 

<resources mapping="/resources/**" location="/resources/" /> 

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <beans:property name="prefix" value="/views/" /> 
    <beans:property name="suffix" value=".jsp" /> 
</beans:bean> 

<context:component-scan base-package="com.home.spring" /> 

enter image description here

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.0.xsd"> 

<!-- Root Context: defines shared resources visible to all other web components --> 

<util:properties id="appProperties" location="properties.properties"/> 

Ho imparato alcuni tutorial e ho letto una parte web della documentazione ufficiale che è rilevante per il mio lavoro ma non ho ancora capito dove si trova un problema nel mio codice.

Sono bloccato con esso. Se hai qualche idea per favore condividilo con me. Grazie.

+0

Hai avuto uno sguardo alla applicazione petclinic (http://static.springsource.org/docs /petclinic.html)? Forse ti avrebbe aiutato. – Christian

+0

shwo anche la pagina jsp, che sembrano tutte sfigurate - nessun errore? – NimChimpsky

+0

Puoi mostrarci l'errore nella console, se presente. Come il tuo jsp mi sta bene. L'errore potrebbe darci qualche suggerimento – dharam

risposta

1

Per me funziona bene. Lo stesso codice. Potresti per favore postare anche il jsp.

Ho il seguente jsp: Per favore fateci sapere se il vostro jsp è simile.

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
${serverTime} 
</body> 
</html> 

EDIT: rimuovere ogni cosa da web.xml e mettere il seguito:

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>/WEB-INF/appServlet-servlet.xml</param-value> 
</context-param> 
<listener> 
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<servlet> 
<servlet-name>appServlet</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
<servlet-name>appServlet</servlet-name> 
<url-pattern>*.do</url-pattern> 
</servlet-mapping> 
+0

Sembra simile ma ho anche del codice all'inizio di jsp. Ma il tuo codice non ha funzionato anche –

+0

qual è il contenuto del file spring-config.xml? Si prega di provare il xml in EDIT – dharam

+0

Non funziona, il risultato non è cambiato. –

Problemi correlati