1.URL标签
用于组合一个资源的正确URL,它必须考虑应用程序上下文是否为默认上下文,以例子来说明,先看如下URL
http://example.com/myapp/abc ,浏览器会正确的将myapp作为上下文,把abc当做行为,对于静态文件的任何相对引用,如css文件,都会利用http://example.com/myapp进行解析,作为基准.也就是说,如果有页面包含了img元素,<img src="logo.png" /> 浏览器就会在http://example.com/myapp/logo.png中查找logo.png.
注意,如果将同一个应用程序部署成默认的上下文(默认的上下文路径是一个空字符串),则这一行为的URL是:
http://example.com/abc,如果在部署的时候加一个路径变量,http://example.com/abc/1,则浏览器会将abc作为上下文,而不是行为,如果也引用了一个img元素,浏览器就会在http://example.com/abc/logo.png查找图片,显然找不到.
<style type="text/css">@import url(css/main/css);</style>
如果向下面这样使用url标签:
<style type=" text/css" >
@import url("<c:url value="/css/main.css" />");
</style>
如果是默认的上下文,那么这个url会被翻译为:
<style type="text/css"> @import url("/css/main.css");</style>
如果不是默认的上下文,那么这个上下文就会被翻译为:
<style type="text/css"> @import url("/myapp/css/main.css");</style>
语法:
1) 使用url标签时,可以没有body content
<c:url value="value" [context ="context" ] [var="varName"] [scope="{page|request|session|application}"] />
2) 有body content
<c:url value="value" [context ="context" ] [var="varName"] [scope="{page|request|session|application}"] >
<c:param> subtags
</c:url>
url标签的属性
属性 | 类型 | 描述 |
value | 字符串 | 要处理的URL |
context | 字符串 | 在指定属于外部上下文的相对URL资源时的上下文名称 |
var | 字符串 | 所处理URL要创建的有界对象 |
scope | 字符串 | 新创建的有界变量的范围 |
2.redirect 标签
redirect标签会发出跳转到客户端的HTTP
redirect的属性
属性 | 类型 | 描述 |
url | 字符串 | 要跳转的url |
context | 字符串 | 在跳转到属于外部上下文的相对URL资源时的上下文名称 |