2016-07-02 5 views
0

스프링 2.5.5 프로젝트를 사용하는 Java를 시작하기에 처음입니다. Spring Annotation이 해결되지 않은 문제가 있습니다. $ {MSG}spring2 주석이 렌더링되지 않았습니다.

[\ 대상 \의 pom.xml 파일]

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.demo.spring</groupId> 
    <artifactId>HelloWorldSpringWeb</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>HelloWorldSpringWeb Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <jdk.version>1.6</jdk.version> 
     <spring.version>2.5.6</spring.version> 
     <jstl.version>1.2</jstl.version> 
     <servletapi.version>2.5</servletapi.version>   
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 

     <!-- Spring MVC framework --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <!-- JSTL --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>${jstl.version}</version> 
     </dependency> 

     <!-- for compile only, your container should have this --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>${servletapi.version}</version> 
      <scope>provided</scope> 
     </dependency>  

    </dependencies> 

    <build> 
    <finalName>HelloWorldSpringWeb</finalName> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>${jdk.version}</source> 
       <target>${jdk.version}</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.2.11.v20150529</version> 
      <configuration> 
       <scanIntervalSeconds>10</scanIntervalSeconds> 
       <webApp> 
        <contextPath>/spring2</contextPath> 
       </webApp> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <downloadSources>true</downloadSources> 
       <downloadJavadocs>true</downloadJavadocs> 
       <wtpversion>2.0</wtpversion> 
       <wtpContextName>spring2</wtpContextName> 
      </configuration> 
     </plugin> 

     </plugins>  
    </build> 
</project> 

[\ WEB-INF \ web.xml에]

: 내 JSP는 다음과 같이 직접 스프링 주석을 보여줍니다 의미
<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 

    <display-name>Archetype Created Web Application</display-name> 

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

    <servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>*.htm</url-pattern> 
    </servlet-mapping> 

</web-app> 

[\ WEB-INF \의 MVC-servlet.xml에 운영자 -]

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd"> 

    <bean name="/welcome.htm" 
     class="com.demo.spring.HelloWorldController" /> 

    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
     <property name="prefix"> 
      <value>/WEB-INF/pages/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 

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

</beans> 

[com.demo.spring.HelloWorldController.java]

package com.demo.spring; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 

@RequestMapping("/welcome") 
public class HelloWorldController { 

    @RequestMapping(method = RequestMethod.GET) 
    public ModelAndView helloWorld(){ 

     ModelAndView model = new ModelAndView("index"); 
     model.addObject("msg", "hello world"); 

     return model; 
    } 

} 

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 
<html> 
<body> 
    <h2>Hello World!!!</h2> 
    <h2>${msg}</h2> 
</body> 
</html> 

는, 컨트롤러에 접속이 URL을 사용하려면 [\ WEB-INF \ 페이지는 index.jsp를 \] : 마지막으로

http://127.0.0.1:8080/HelloWorldSpringWeb/welcome.htm 

,이 같은 웹 브라우저에 출력 :

Hello World!!! 
${msg} 

알다시피 $ {msg}는 렌더링되지 않습니다. 에드. 뭐가 문제 야?

대단히 감사합니다.

+0

Spring 2.5.6으로 프로젝트를 시작하는 것은 엉뚱한 일이다. 이 버전은 매우 오래되었고 (9 년!) 더 이상 유지 관리되지 않습니다. 최신 안정적인 Spring 버전을 사용하십시오. 자바 6 -> 자바 8, 서블릿 2.5 -> 서블릿 3.1, junit 3.8 -> junit 4.x. –

+0

나는이 버전의 Spring을 사용하고있는 오래된 프로젝트를 유지해야만한다. 그래서 그것에 대해 배우고 싶다. – Diviner

답변

0

제 조사가 끝나면 "봄 2.5.6 EL 해결되지 않았습니다."라는 질문을 수정해야합니다.

그리고 지금 내가 그 안에 EL 표현이있는 모든 페이지에이 문을 추가 할 수 있음을 알고

<%@ page isELIgnored="false" %> 

네, 그것은 내 문제를 해결할 수 있습니다. 그러나 나는이 프로젝트를 너무 많은 페이지에 추가하고 싶지 않다.

web.xml이 버전 2.3과 같거나 낮은 경우 isELIgnored가 기본값 인 "true"로 인해 발생하는 것으로 나타났습니다. 따라서이 코드를 추가하여 isELIgnored를 true로 설정해야합니다.

<jsp-config> 
    <jsp-property-group> 
    <url-pattern>*.jsp</url-pattern> 
    <el-ignored>false</el-ignored> 
    </jsp-property-group> 
</jsp-config> 

행운은 없습니다. EL은 아직 해결되지 않았습니다.

누군가가 도움을받을 수 있습니까?

고마워요.

관련 문제