jsp标签
2016-06-05 16:54
323 查看
jsp标签
jsp标签作用
替换jsp脚本
jsp标签分类
内置标签(动作标签): 不需要在jsp页面导入标签jstl标签: 需要在jsp页面中导入标签
自定义标签 : 开发者自行定义,需要在jsp页面导入标签
动作标签(重要的三个)
转发标签: <jsp:forward />
标签用于把请求转发给另外一个资源<jsp:forward page="relativeURL | <%=expression%>" />
page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个 表达式来获得。
参数标签: <jsp:pararm/>
当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资 源时,可以使用<jsp:param>标签向这个资源传递参数<jsp:include page="relativeURL | <%=expression%>"> <jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>
包含标签: <jsp:include/>
语法<jsp:include page="relativeURL | <%=expression%>" flush="true|false"/> <!--向被包含页面传的参数--> <jsp:param name="参数名称" value="参数值"/> </jsp:include> <!-- page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来 获得。--> <!--flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输 出的内容刷新到客户端,默认为false。-->
原理: 包含与被包含的页面先各自翻译成java源文件,然后再运行时合并在一起。 (先翻译再合并),动态包含
静态包含 vs 动态包含的区别?
语法不同
静态包含语法: <%@inclue file="被包含的页面"%>
动态包含语法: <jsp:include page="被包含的页面">
参数传递不同
静态包含不能向被包含页面传递参数
动态包含可以向被包含页面传递参数
原理不同
静态包含: 先合并再翻译
动态包含: 先翻译再合并
其他的动作标签(不常使用)
<jsp:useBean>
创建一个Bean实例语法
不存在Body的格式
<jsp:useBean id="变量名" scope"page|request|session|application"--Bean实例范围,属于那个域,默认是page域 { class="package.className"--完整的类名不能与beanName同时存在,没有它时必须设置type| type="数据类型"--指定创建实例的本身或类的父类或者接口| beanName--指定完整的类名,可以是一个表示完整类名的表达式 } /> <jsp:setProperty name="变量名" property="*"/>
在Body内写入内容的格式
<jsp:useBean id="变量名" scope="JSP范围"> <jsp:setProperty name="变量名" property="*"/> </jsp:useBean>
<jsp: setProperty>
通常与<jsp: useBean>一起使用,它将调用Bean中的setXxx();
<jsp: getProperty>
用来从指定的Bean中读取指定的属性值,Bean中必须有getXxx()方法
JSTL标签
介绍
JSTL (全名:java standard tag libarary - java标准标签库 )核心标签库 (c标签库) 天天用
国际化标签(fmt标签库)
EL函数库(fn函数库)
xml标签库(x标签库)
sql标签库(sql标签库)
使用JSTL标签步骤
导入jstl支持的jar包(标签背后隐藏的java代码)注意:使用javaee5.0的项目自动导入jstl支持jar包
使用taglib指令导入标签库
<%@taglib uri="tld文件的uri名称" prefix="简写" %>
在jsp中使用标签
<c: out>
<c: out> 标签用于输出一段文本到浏览器中属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
value | true | Object | 指定要输出的内容 |
escapeXml | true | Boolean | 指定是否将>、<、&、'、"等特殊字符进行HTML编码转换后再进行输出。默认值为true |
default | true | Object | 指定如果value属性的值为null/””时所输出的默认值 |
<c: set> 标签
<c: set>标签用于把某一个对象存在指定的域范围内,或者设置Web域 中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
value | true | Object | 用于指定属性值 |
var | false | String | 用于指定要设置的Web域属性的名称 |
scope | false | String | 用于指定属性所在的Web域 |
target | true | Object | 用于指定要设置属性的对象,这个对象必须是JavaBean对象或java.util.Map对象 |
property | true | string | 用于指定当前要为对象设置的属性名称 |
<c:if>
<c:if test=“”>标签可以构造简单的“if-then”结构的条 件表达式属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
test | true | boolean | 决定是否处理标签体中的内容的条件表达式 |
var | false | String | 用于指定将test属性的执行结果保存到某个Web域中的某个属性的名称 |
scope | false | String | 指定将test属性的执行结果保存到哪个Web域中 |
<c:choose> 标签
c:choose>标签用于指定多个条件选择的组合边界,它必须与 <c:when>和<c: otherwise>标签一起使用。使用<c: choose>, <c:when>和<c: otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=gb2312" %> <c:set value="${param.count}" var="count“ /> <c:choose> <c:when test="${count == 0}"> 对不起,没有符合您要求的记录。 </c:when> <c:otherwise> 符合您要求的记录共有${count}条. </c:otherwise> </c:choose>
<c:forEach> 标签
<c:forEach>标签用于对一个集合对象中的元素进行循环迭代操 作,或者按指定的次数重复迭代执行标签体中的内容。属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
var | false | String | 指定将当前迭代到的元素保存到page这个Web域中的属性名称 |
items | true | 任何支持的类型 | 将要迭代的集合对象 |
varStatus | false | String | 指定将代表当前迭代状态信息的对象保存到page这个Web域中的属性名称 |
begin | true | int | 如果指定items属性,就从集合中的第begin个元素开始进行迭代,begin的索引值从0开始编号;如果没有指定items属性,就从begin指定的值开始迭代,直到end值时结束迭代 |
end | true | int | 参看begin属性的描述 |
step | true | int | 指定迭代的步长,即迭代因子的迭代增量 |
<c:forTokens>
对带有相同符合格式内容进行分割输出,例如varstr="1,2,3,4,5,6";属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
Items | true | 任何支持的类型 | 将要迭代的集合对象 |
delims | false | String | 字符串的分割符,可以同时有个分割符(依次写在引号内即可。) |
varStatus | false | String | 指定将代表当前迭代状态信息的对象保存到page这个Web域中的属性名称 |
begin | true | int | 如果指定items属性,就从集合中的第begin个元素开始进行迭代,begin的索引值从0开始编号;如果没有指定items属性,就从begin指定的值开始迭代,直到end值时结束迭代 |
end | true | int | 参看begin属性的描述 |
step | true | int | 指定迭代的步长,即迭代因子的迭代增量 |
var | False | String | 指定将当前迭代到的元素保存到page这个Web域 |
<c:url> 标签
<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是 实现URL重写。URL重写就是将会话标识号以参数形式附加在URL 地址后面属性名 | 是否支持 EL | 属性类型 | 属 性 描 述 |
---|---|---|---|
value | true | String | 指定要构造的URL,/表示day15 |
var | false | String | 指定将构造出的URL结果保存到Web域中的属性名称 |
scope | false | String | 指定将构造出的URL结果保存到哪个Web域中 |
<c:catch> 标签
<c:catch>标签用于捕获嵌套在标签体中的内容抛出的 异常,其语法格式如下:<c:catch [var="varName"]> nested actions </c:catch>
<c:redirect> 标签
<c:redirect>标签用于将当前的访问请求转发或重定向到其他资 源,它可以根据url属性所指定的地址,执行类似<jsp:forward>这 个JSP标准标签的功能,将访问请求转发到其他资源;或执行 response.sendRedirect()方法的功能,将访问请求重定向到其他资 源。
<c:param> 标签
在JSP页面进行URL的相关操作时,经常要在URL地址 后面附加一些参数。<c:param>标签可以嵌套在<c: import>、<c:url>或<c:redirect>标签内,为这些标 签所使用的URL地址附加参数。<c:param>标签在为一 个URL地址附加参数时,将自动对参数值进行URL编码, 例如,如果传递的参数值为“中国”,则将其转换为 “%d6%d0%b9%fa”后再附加到URL地址后面,这也就 是使用<c:param>标签的最大好处。
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- 表格标签table深入了解
- WEB标准网页布局中尽量不要使用的HTML标签
- 如何使用jquery easyui创建标签组件
- jsp简单实现页面之间共享信息的方法
- Apache Web让JSP“动”起来
- web标准知识――用途相似的标签
- h1标签的使用技巧
- 探讨JavaScript标签位置的存放与功能有无关系
- HTML代码中标签的全部属性 中文注释说明
- 第九章之路径分页标签与徽章组件
- javascript实现label标签跳出循环操作
- Bootstrap每天必学之标签与徽章
- jQuery EasyUI 布局之动态添加tabs标签页
- jQuery+CSS实现滑动的标签分栏切换效果
- jquery 实现两Select 标签项互调示例代码
- 详解jQuery Mobile自定义标签