Intellij Idea + Maven 使用jstl遇到的问题
请按照以下步骤操作:
1 在pom.xml文件中引入jstl需要的jar包
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>standard</groupId>
<artifactId>standard</artifactId>
<version>1.0</version>
</dependency>
standard.jar的pom是自己在nexus上手动上传自己定义的
2 在intellij中配置dtd文件,并在web-inf下面创建tld文件夹,添加c.tld文件(网上下载这个)
在web.xml中配置使用c.tld文件:
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
</jsp-config>
在jsp中做如下引用:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix='fmt' uri="http://java.sun.com/jsp/jstl/fmt" %>
使用jstl标签:
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<script type="text/javascript">
var ctx = '<c:out value="${pageContext.request.contextPath}"/>';
</script>
<link rel="stylesheet" type="text/css" href="<c:url value="/view/css/zTreeStyle/zTreeStyle.css"/>" />
<script type="text/javascript" src="<c:url value="/view/js/jquery/jquery-1.4.4.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/view/js/jquery/ztree/jquery.ztree.core-3.5.js"/>"></script>
<script type="text/javascript" src="<c:url value="/view/js/jquery/ztree/jquery.ztree.excheck-3.5.js"/>"></script>
<script type="text/javascript" src="<c:url value="/view/js/jquery/ztree/jquery.ztree.exedit-3.5.js"/>"></script>
<script type="text/javascript" src="<c:url value="/view/js/common/Consts.js"/>"></script>
在此时出现了问题:
在intellij idea下启动tomcat,然后在浏览器里访问jsp:一直在报fail to load or instance org.apache.taglibs.standard.tlv.JstlCoreTLV
问题奇怪的在于,使用maven命令把项目打成war包在浏览器里访问是正常,后来经过多番Google,别人说把jstl-1.2.jar和standard.jar放入到tomcat的lib文件夹下就行了,试了果然可以,
在intellij idea下启动tomcat访问也正常了,不知道为什么这样,感觉很坑得