最近学习maven的时候碰到了一些问题,到时都解决了,不过想记下来,给哪些碰到类似问题的同学提供一个思路。
无法使用el表达式 用maven新建webapp项目后,当我在前台使用EL表达式的时候发现无法tomcat居然无法解析,如我从后台传来一个message,想直接在前台显示,它直接就给我显示${message}这一串文字。
后来发现可以在每个使用jsp的页面加上如下代码就可以了。
1 <%@ page isELIgnored ="false" %>
但总体感觉这样不太优雅,于是看到了另一种方法。如下 maven新建的webapp项目的web.xml中其实是这样的
1 2 3 4 5 6 <!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> </web-app>
据说是2.3的dtd不支持el表达式吧,web.xml中的这部分改成如下(在webapps\manager\WEB-INF\web.xml中找到的)
1 2 3 4 5 6 7 8 9 10 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Archetype Created Web Application</display-name> </web-app>
添加json-lib依赖的问题 去网上查询json-lib依赖时,一般给的都是
1 2 3 4 5 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency>
但是发现eclipse就下不下来这个依赖,后来知道,这个依赖其实和jdk版本有关,有json-lib-XX-jdk13.jar和json-lib-XX-jdk15.jar这两种版本,所以如果需要添加json-lib依赖,就需要指定classifier,如下:
1 2 3 4 5 6 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>