2012-05-29 94 views
0

我已經創建了一個動態Web模塊項目usig STS和Spring MVC。問題是我向模型中添加了一個字符串,但它不能在使用EL的JSP頁面上顯示。JSP表達式語言錯誤

我可以知道它有什麼問題嗎?

下面是詳細信息: JSP頁面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1" isELIgnored="false" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Spring MVC</title> 
</head> 
<body> 
    Home 
    <br /> 

    <c:out value="${message}" /> 

</body> 
</html> 

的web.xml

<?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_3_0.xsd" version="3.0"> 

MVC控制器:

@Controller 
public class HomeController { 

    public HomeController() { 
     super(); 
    } 

    @RequestMapping(value="/home", method=RequestMethod.GET) 
    public ModelAndView showHomePage() { 

     // View Name - Model Name - Model Data 
     return new ModelAndView("home", "message", "Hello Spring MVC"); 
    } 
} 

調度 - servlet.xml中

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    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.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

    <!-- http://www.jpalace.org/docs/tutorials/spring/mvc_10.html --> 

    <!-- Context Scan --> 
    <context:component-scan base-package="com.peter.controller"/> 

    <!-- Handler Mapping --> 
    <bean id="handlerMapping" class="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
    </bean> 

    <!-- Handler Adapter - AnnotationMethodHandlerAdapter --> 
    <!-- Invoke Handler Method --> 
    <bean id="handlerAdapter" class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
    </bean> 

    <!-- Pre/Post Handler Interceptor --> 
    <!-- 
    Implement HandlerInterceptor 
    Declare HandlerInterceptor inside DefaultAnnotationHandlerMapping property or 
    globally inside <mvc:interceptors> 
    Need configure Filter object inside web.xml 

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
     <property name="interceptors"> 
      <list> 
       <bean class="pckg.MyInterceptor1"/> 
       <bean class="pckg.MyInterceptor2"/> 
      </list> 
     </property> 
    </bean> 

    <mvc:interceptors> 
     <bean class="pckg.MyInterceptor1"/> 
     <bean class="pckg.MyInterceptor2"/> 
    </mvc:interceptors> 

    --> 

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

    <!-- Exception Resolver --> 

    <!-- Register Interceptor, Message Resource, Bean validation support, Message conversion and field formatting --> 
    <mvc:annotation-driven /> 

</beans> 

我在我的構建路徑中有JSTL.jar。在Java構建路徑上找不到「c:out」(org.apache.taglibs.standard.tag.rt.core.OutTag)的標記處理程序類的警告消息

請幫助。

謝謝。

+0

您的視圖解析器工作良好嗎?我的意思是你能看到這個jsp,然後你點擊'/ context/home'? –

+0

發佈你的spring servlet context.xml來驗證你的ViewResolvers和View。 –

+0

是,相應地顯示歡迎頁面。 – peterwkc

回答

2
  • 從maven回購下載jstl-1.2.jar(http://repo1.maven.org/maven2/javax/servlet/jstl/1.2/)。
  • 確保 該jar在Web應用程序的WEB-INF \ lib文件夾中可用。

+2

或更好地使用Maven來管理依賴關係 –

+0

我已經在部署程序集選項中設置了JSTL.jar。 – peterwkc

0

我想查看您的viewResolver配置。你能查看主頁嗎?或者有404錯誤?

如果home.jsp顯示正常,那麼根據我的問題是在你的jsp。 看看你定義頁面指令的jsp的第一行。

在該聲明中刪除屬性isELIgnored="false"它每次都是默認爲false。所以不需要明確地定義它。

我想如果你刪除該屬性。您的${message}將顯示正確。

希望這可以幫助你。

乾杯。

+0

是的,我能夠查看主頁。我已經刪除了該屬性,但仍不顯示該消息。 – peterwkc

+0

在瀏覽器中顯示時,您在jsp中獲得的$ {message}是什麼? –

+0

沒有錯誤顯示。只是空白。 – peterwkc