springMVC学习之JSTL与URL相关的行为

来源:互联网 发布:广州商陆花软件多少钱 编辑:程序博客网 时间:2024/06/11 05:44

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字符串要跳转的urlcontext字符串在跳转到属于外部上下文的相对URL资源时的上下文名称

原创粉丝点击