JSP的简便写法
1.定义一个公共的JSP:首先引入jstl,再定义一个项目的基本路径。
tag.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <c:set var="baseurl" value="${pageContext.request.contextPath}/"></c:set>
2.其他JSP页面通过静态包含引入上面的JSP内容
<%@ include file="/tag.jsp"%>
3. 也可以将公共的css与js引入连接抽出来放入一个JSP中
cssJs.jsp
<script type="text/javascript" src="${baseurl}/js/jquery.min.js"></script> <script type="text/javascript" src="${baseurl}/bs/js/bootstrap.js"></script> <link rel="stylesheet" href="${baseurl}/bs/css/bootstrap.css"/> <!--å页--> <link rel="stylesheet" type="text/css" href="${baseurl}/controls/easyUI/themes/default/easyui.css"/> <script src="${baseurl}/controls/easyUI/easyui-lang-zh_CN.js"></script> <link rel="stylesheet" href="${baseurl}/controls/easyUI/themes/icon.css"/> <script type="text/javascript" src="${baseurl}/controls/easyUI/jquery.easyui.min.js"></script> <!--å¤ææ¶æ¥--> <link rel="stylesheet" type="text/css" media="all" href="${baseurl}/controls/calendar/daterangepicker-bs3.css"/> <script type="text/javascript" src="${baseurl}/controls/calendar/moment.js"></script> <script type="text/javascript" src="${baseurl}/controls/calendar/daterangepicker.js"></script> <!--æ¥å--> <link rel="stylesheet" href="${baseurl}/controls/calendar/pikaday.css"> <script src="${baseurl}/controls/calendar/pikaday.js"></script> <script src="${baseurl}/js/menu.js"></script> <link rel="stylesheet" href="${baseurl}/css/public/indexpublic_style.css"/> <script type="text/javascript" src="${baseurl }/controls/jedate/jquery.jedate.js"></script> <script type="text/javascript" src="${baseurl }/js/dateformat.js"></script> <link type="text/css" rel="stylesheet" href="${baseurl }/controls/jedate/skin/jedate.css">
4.其他页面中引用
注意:先引入tag.jsp再引入 其他使用baseurl的jsp
好处:只用引入上面的tag.jsp便可使用jstl与${baseurl}获取项目名字。
--------------页面中编写一个全局变量记录项目名字,在JS文件中可以用全局变量代替项目名字(便于写路径)------------------------
JSP中:
<script type="text/javascript"> var contextPath = "${pageContext.request.contextPath}"; </script>
JS中写路径的时候比如:
$.ajax({ url : contextPath + '/findExam_findExamEmployeeByExamId.action', data : { "examId" : examId }, type : 'POST', async : true, dataType : 'json', success : showExamEmployeesModal, error : function() { alert("查询考试员工信息失败!!!") } });
也可以将tag.jsp上面进行改造:
将记录项目名字的JS变量放在tag.jsp中,这样只用引入一个tag.jsp便可以在jsp中用${baseurl}表示项目根路径,在JS中用context获取项目根路径。
tag.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <c:set var="baseurl" value="${pageContext.request.contextPath}"></c:set> <script type="text/javascript"> /* 表示项目根路径,等价于 /Exam */ var contextPath = "${pageContext.request.contextPath}"; </script>
注意:静态引入相当于原封不动的将里面的内容包含进来。所以在被包含的页面不需要头和尾。
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】