配置了sringMVC之后,要引入js,css处理:
做法1:在<%page %>下面增加:
<%@ taglib prefix="yesurl" uri="http://www.springframework.org/tags"%>
<yesurl:url value="/" var="path" />
然后引入时,不能直接用"/"表示webContent,用${path}代替,
既用下列格式引入:
<link rel="stylesheet" href="${path}zTree_v3/css/zTreeStyle/zTreeStyle.css" type="text/css">
实际例子:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="yesurl" uri="http://www.springframework.org/tags"%>
<yesurl:url value="/" var="path" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${path}css/zTreeStyle/zTreeStyle.css"
type="text/css">
<script type="text/javascript" src="${path}js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="${path}js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="${path}js/createTree.js"></script>
在做了上面的处理之后可以用,但在继续开发的时候突然不认这个做法了,会报jsp无法编译的异常,
做法2:由于我springMVC只拦截了.do后缀,就直接指向资源地址就好,注意要看当前的地址格式,js,css,img等文件夹直接放在webContent下面,资源地址要在项目名之后,如当前jsp打开后的地址为:
http://localhost:8080/hadoopWeb/main/mian.do
main.do返回到main.jsp,则在main.jsp上静态资源引入地址为:
<script type="text/javascript" src="../js/ztree/jquery-1.4.4.min.js"></script>
要让js这个文件夹接在项目名后面.
做法3.用java获取项目的根目录来引入js,css,图片等.
<script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js"></script>
备注:我一开始是用做法2,但jsp无法引入,所以才用了做法1,在一次将后台传给前台的类型由List换成Set后jsp报无法编译的异常,换回做法2后就能正常引入了.原因不明.
可能是jsp放在外面用做法2,放在web-inf下面用做法1
做法3好像不管在webapp下还是webinf下都可以用