1. 程式人生 > >在jsp頁面中使用EL表示式無法解析spring mvc中Model或者ModelAndView傳的值

在jsp頁面中使用EL表示式無法解析spring mvc中Model或者ModelAndView傳的值

1、在spring-mvc的配置檔案中已經配置jsp的檢視解析器

<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/page/" />
<property name="suffix" value=".jsp" />
</bean>

2、在Controller中使用Model的addAttribute方法新增屬性msg

3、在jsp頁面中使用${msg}取msg屬性的值失敗

4、失敗原因:使用maven新建web工程時,可能會新建一個基於老的jsp1.2的工程,而jsp1.2版本預設情況下是禁用EL表示式的。

如果在web.xml中出現如下資訊,則證明工程是jsp1.2的工程:

5、解決方法:

第一種方法:在需要解析Model或者ModelAndView的jsp頁面中新增:<%@ page isELIgnored="false" %>

第二種方法:在web.xml檔案中的<web-app>標籤中新增: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"屬性