构建路径如下图
然后我换一种方式,将构建路径中struts2删去,再将相关jar包复制到WEB-INF目录下的lib中,在次运行,无报错,正常
如下图
但是!!!
同样为第三方jar包导入的jstl,只是在项目构建路径里配置了却可以使用,
eclipse在这里是怎么处理的,为什么对于构建路径的jar包做不同的处理
下面附上测试源码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
<div>
<h1>
<%-- <s:property value="message"/> --%>
</h1>
</div>
<hr/>
<div>
<form action="helloWorld.action" method="post">
<input name="name" type="text">
<input name="submit" value="提交">
</form>
<c:if test="${empty user }">abc</c:if>
</div>
</body>
</html>
2 个解决方案
#1
对于web项目来说,导入的jar包需要放在WEB-INF下的lib目录中,再去build path,部署到服务器上后,app会去这个目录下找相应的jar包,如果放在src下,部署到服务器后是存放在classes中的,app比较蠢会找不到,对于jstl来说是要放到classpath中才可以使用.
初学者的个人理解,有不恰当的地方请指教.
初学者的个人理解,有不恰当的地方请指教.
#2
我也是这样理解的,可是在这个项目里, jstl的jar包就不需要放在Lib目录下只需要build path就可以了
#1
对于web项目来说,导入的jar包需要放在WEB-INF下的lib目录中,再去build path,部署到服务器上后,app会去这个目录下找相应的jar包,如果放在src下,部署到服务器后是存放在classes中的,app比较蠢会找不到,对于jstl来说是要放到classpath中才可以使用.
初学者的个人理解,有不恰当的地方请指教.
初学者的个人理解,有不恰当的地方请指教.
#2
我也是这样理解的,可是在这个项目里, jstl的jar包就不需要放在Lib目录下只需要build path就可以了