解决IDEA中JSTL标签库无效

1 篇文章 0 订阅
1 篇文章 0 订阅
问题说明:
jsp页面EL表达式正常输出,编译时JSTL标签可以正常提示,运行时标签不起作用
问题描述:
jsp页面键入<c有提示(编译时可正常提示JSTL标签),
但是在jsp页面body中写如下代码时${2+2}</br><c:if test="${2>1}">${1+1}</c:if>,
部署起来之后,页面可以显示4 但是死活不显示2(运行时JSTL标签无效
也就是EL表达式好使,JSTL标签库不好使


前提,maven工程
如果使用IDEA在jsp页面中使用JSTL标签库,
仅仅将标签库的约束文档加入到setting设置中 (不引入任何jstl相关jar包),
在jsp页面使用jstl标签会报如下异常




然后我们加入jstl的maven依赖
<!-- jstl标签库相关 -->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
然后就好使了。。。

TMD具体怎么好使的我也不知道,我只知道为了研究这个破B玩意花了我两晚上的时间
如果你现在的JSTL标签库还不好使,继续往下看,
我们前面说的页面上引用的那两个标签库,c和fmt的标签库就是从这个网站上下载下来的jar包解压出来的
下这个压缩包

约束文档都在解压后的tld文件目录下



然后你可以选择在Project Structure -> Module -> <项目名> -> Dependencies中加入解压目录下的lib文件夹下的两个jar包


然后打上对勾,然后,Apply 然后OK 记得点OK


然后再次进入Project Structure


这时候你会发现WEB-INF的lib目录下多了刚才添加进去的两个jar(jstl.jar&standard.jar)

然后Apply OK
重新编译项目,ctrl+f9 build project也行,mvn compile也行
说实话我真不明白ctrl_f9 build project mvn compile 两种编译方式有何的区别
所以我的做法是,都来一遍....
有懂的人能给详细解释一下吗。

由于之前加过jstl的maven依赖,我们又手动的添加了jstl的jar包
所以此时Tomcat启动WEB的时候会有如下提示


不用管,看看你的jsp页面上的jstl标签库好用了不~
不好用的话继续往下看

在maven的pom文件里再把这俩依赖加进去试试
这是网上给的一种解决方案,原文出处 http://blog.csdn.net/aimbetter/article/details/45450353
< dependency >
    < groupId >org.apache.taglibs </ groupId >
    < artifactId >taglibs-standard-spec </ artifactId >
    < version >1.2.5 </ version >
</ dependency >
< dependency >
    < groupId >org.apache.taglibs </ groupId >
    < artifactId >taglibs-standard-impl </ artifactId >
    < version >1.2.5 </ version >
</ dependency >

附加:jsp页面中的EL表达式不能正常使用
jsp页面加入如下指令
<%@page isELIgnored="false" %>
鼠标点下EL表达式的$符号出现小灯泡后点小灯泡,
然后选择Inject Language or reference 
在列表里面选择 EL(Experssion Language In JSP)



如果还没能解决,试着重启吧~
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值