首页 > 编程 > JSP > 正文

maven项目下jsp文件中el表达式失效问题

2019-11-14 15:14:24
字体:
来源:转载
供稿:网友

本来是为了写个sPRingmvc的小demo,雏形搭建起来后想起来做成maven的好了,就重新建的maven项目,坑就从这里开始了...

maven创建web项目默认使用的是web 2.3版本,web.xml文件头中也是2.3的版本..说实话之前没怎么用maven创建过项目,后来觉得maven项目看源码太方便了才更偏向于用maven的,所以这里也根本没在意..引入的javax-servlet-api 2.5的版本.然后发现jsp文件中的el表达式都原样输出了,看起来el表达式根本没解析..这就怪了,还好之前有个非maven创建的一模一样的demo,运行一遍无任何问题..基本锁定maven问题,而差异化的根源也确定在了web 2.3这个版本上..

然后百度,基本是这样的答案:2.5之前web.xml文件中的头定义中,el表达式默认是忽略不解析的,故需要显示声明解析el表达式,3种方案:

方案1,在jsp文件头上添加如下:

<%@ page isELIgnored="false" %>

方案2,在web.xml文件中如下定义:

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

方案3,改变web.xml中的头为2.5之上的版本..

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 

这3种方案都是确实有效的,我改了web.xml的头为3.0的版本,再次运行ok了...


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表