这个坑好像是半个月才解决,因为过五一前许多作业和五一在家的躺尸,所以过了大半个月才又碰这个坑,上次花了半天还是没解决,越来越烦!
这次花了个半小时耐心尝试出来了,记录一下:
简单记下这是什么东西?就是一个JSP的标签库!
它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
- pom写入依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
在需要用jstl的jsp页面写入头:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- 运行tomcat报错!!!
我之前报错的就是这一步,我的项目是照着教学视频打的,集成了ssm框架,一直到这一步就报错,错误是:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
但是我新建一个空项目单纯添加以上依赖包运行tomcat却没报错!!!
网上一堆建议看着看着都烦死人了,有版本的:1.1和1.2的区别,不同包的:api和impl的导入,重复依赖的:要去除重复的servlet包依赖,等等,总之都试过没有成功!
先作出以下分析:
- 1.1是旧版本,需要standard.jar 和 jstl.jar两个包;1.2是新版本,只需要jstl.jar一个包
- 重复依赖是指tomcat7.0已经集成了servlet包,而jstl包又导入了一次servlet包,所以要在jstl依赖写
<exclusions>
标签排除,但是我试了觉得没用,jstl貌似没有jstl包。另外引入的servlet和jsp包<scope>provided</scope>
不会加入到运行环境。 - jstl1.2包包含了jstl-api和jstl-impl两个jar包,网上好多多此一举写两个包的...
- 我是这么做的
第一步的依赖包不变:依赖包还是那三个,taglib写法不变
找到外部库中对应的jstl包,展开,将要用到标签的tld后缀文件复制到自己项目的WEB-INF中,然后运行,bug消失!!!
![](https://img.haomeiwen.com/i15569173/a2c288ca844d8679.png)
再提一下:我又被坑了一个地方是:Property 'department' not found on type com.atguigu.crud.bean.Employee
,就是javabean这个属性没有getter和setter方法!!!keng!!!
谢谢这篇博客:https://blog.csdn.net/sinat_34104446/article/details/82846585
这篇博客是消除依赖的,也贴了:https://blog.csdn.net/qq_29227939/article/details/52063869
网友评论