设置页面路径


JSTL和JSP-2.0


配置
确定Web Container支持Servlet2.4, 复制支持jstl 1.1.2版本的jstl.jar,standard.jar(可查阅jar文件中META-INF的信息)到WEB-INF/lib。

在web.xml使用schema进行配置。

<web-app id="starter" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
           
在jsp中,将core和fmt的引入改为(留意多了uri里多了jsp)

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

使用JSP-2.0的EL表达式
直接在html里面使用EL,而不是<c:out value="">。

不要用<c:url value=""/>

<c:url value=""/>虽然解决了context-path的问题,但嵌套起来复杂无比。建议在公共的taglib.jsp加入


方式一:

<c:set var="ctx" value="${pageContext.request.contextPath}"/>

方式二:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


然后在需要使用绝对路径的地方直接编写

<link href="${ctx}/styles/default.css" type="text/css">
           
而不是看得眼花的

<link href="<c:url value="/styles/default.css"/>" type="text/css">



你可能感兴趣的:(Web,xml,jsp,css,sun)