Structs 2应用程序由Tomcat&n…

[本人实测记录]

本文涉及环境:

1、原应用部署环境:Tomcat 6.0.29/6.0.31

2、升级后环境:Tomcat 7.0.26-0

出现的故障现象:

出错提示类似:No tag "set" defined in tag library imported with prefix "c"

 

 

image

“点击这里查看具体错误信息”部分:

org.apache.jasper.JasperException: /index.jsp (line: 3, column: 0) No tag "set" defined in tag library imported with prefix "c" at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199) at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1215) at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1452) at org.apache.jasper.compiler.Parser.parse(Parser.java:138)

……

问题分析:

看起来是讲标签正确没有定义和引用。但是检查全部相关部分,该有的都有!(不可能没有。因为整个应用程序是从Tomcat 6部署后可以正常使用的Webapps目录下拷贝过来的。刚开始部署War包,出现此问题。后不直接部署War包,改为直接拷贝整个应用至新的Webapps目录下)。其中,涉及到上面报错的每一个JSP文件的头部都有类似:

<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>

这样的的声明。很奇怪。

 

问题解决:

后经过仔细看Tomcat7下的几个Structs2例子,发现错在上面那句话,看来tomcat新版本采用更高版本相应包后,标签的uri发生了变化,改为下面的uri。页面可以正常显示了。

<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>

 

照此方法,修改所有涉及到的文件,问题解决。

================================================================================================

问题解决了。但是在我的实验中,涉及到一个问题。我手头没有源程序,怎么修改好呢?JSP文件可不少啊!

嘿嘿,我用了一个比较简单的办法:

把应用整个目录,放到一个目录下,使用EMEDITOR的“在文件中查找”功能,非常简单地解决了问题。

image

 

image

解决这个问题花了我不少时间,不过解决问题后的感觉不错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值