(一)为所有页面引用另外一个页面
问题:在项目开发中,jsp页面需要引入外部文件,比如“css/js/images”等。但是,jsp中不能像在html中一样,采用相对路径,而是必须获得整个项目路径+“css/js”文件在项目中的相对路径。而整个项目路径是每个jsp页面必须要用到的一个JAVA变量,如果每个jsp页面,则需要反复的重复劳动?
解决办法:将“整个项目路径”单独写在一个jsp页面,然后其他的jsp页面引入这个页面,使用“EL”表达式(${…})获取即可。
具体操作:
1、新建一个公共JSP页面“common.jsp”
<%
//获取工程名:/order(注意,这里是带一条“/”的)
String path = request.getContextPath();
//获取整个项目的路径
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
%>
1、在“web.xml”中配置
<!-- 为所有的JSP页面引入一个公共页面 -->
<jsp-config>
<jsp-property-group>
<!-- 为哪些JSP页面引入一个公共页面 -->
<url-pattern>*.jsp</url-pattern>
<!-- 被引入的公共页面 -->
<include-prelude>/WEB-INF/jsp/common.jsp</include-prelude>
</jsp-property-group>
</jsp-config>