Spring MVC einfaches Beispiel mit JSP und JSTL als Ansicht funktioniert nicht

Als mit vielen neuen Menschen zu Spring MVC bin ich Schwierigkeiten haben, über die erste Hürde. In meinem Fall, dass die aktuelle Hürde scheint mit JSTL fmt taglib nicht formatieren meine Daten richtig oder es übergeben wird ein string-literal durch das value-Attribut der fmt-tag . Ich habe ein einfaches Maven-Projekt, das ich benutze, um zu arbeiten, die Knicke in meinem wissen. Die folgenden Codeausschnitte sind aus meiner WelcomeController, web-servlet.xml, web.xml und herzlich willkommen.jsp.

WelcomeController.java

    @Controller
    @RequestMapping(value="/")
    class WelcomeController {  

        @RequestMapping(method=RequestMethod.GET) 
        public String welcome(Model model) {
            Date today = new Date();
            System.out.println("Controller being called");
            model.addAttribute("today", today);
            System.out.println(model.containsAttribute("today"));
            return "welcome";
       }
    }

web-servlet.xml

   <?xml version="1.0" encoding="UTF-8"?>
   <beans> <!-- bean namespaces ommitted for space sake -->

        <context:component-scan base-package="org.opel.eros.web"/>

        <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>

        <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

        <context:property-placeholder location="classpath:META-INF/properties/web-config.properties"/>

        <mvc:annotation-driven/>

        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="${config.prefix}"/>
            <property name="suffix" value="${config.suffix}"></property>
        </bean>

web.xml

   <web-app>
       <servlet>
            <servlet-name>eros</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
       </servlet>

       <servlet-mapping>
           <servlet-name>eros</servlet-name>
           <url-pattern>/</url-pattern>
       </servlet-mapping>
   </web-app>

Und schließlich willkommen.jsp

   <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
   <html>
   <head></head>
   <body>
       <fmt:formatDate value="${today}" pattern="yyyy-MM-dd"/>
   </body>
   </html>

Wird nicht viel einfacher, ich weiß, aber eine Ausnahme wird ausgelöst, wenn ich geben Sie die url http://localhost:9990/XYZ/ ist dies die Ausnahme: PWC6338: Cannot convert "${heute}" für das Attribut Wert des java-bean.util.Datum

Das scheint mir ein Fehler, wo die formateDate übergeben wird das String-literal "${heute}", die offensichtlich eine Ausnahme. Das Beispiel, das ich verwende, um zu helfen (ab Frühjahr reciepes verwendet: Eine problem-Lösung-Ansatz) besagt, dass Zugriff auf Modell-Attribute verwenden Sie die syntax angegeben, in der fmt tag über.

Grundsätzlich bin ich auf der Suche nach einer Lösung und ein Grund, warum dies passiert ist ( ich weiß es ist wahrscheinlich etwas sehr einfaches und dumm auf meinem Teil =]). Vielen Dank für jede Hilfe im Voraus, sehr geschätzt.

InformationsquelleAutor OpelMac | 2012-09-26
Schreibe einen Kommentar