1、 http://java.sun.com/jsp/jstl/core
1、<c:forEach> 基础迭代标签,接受多种集合类型
<c:forEach [var="item"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forEach>
2、<c:forTokens> 根据指定的分隔符来分隔内容并迭代输出
<c:forTokens [var="item"] items="stringOfTokens" delims="delimiters"
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forTokens>
3、<c:out> 用于输出 el 表达式的值
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
4、<c:set> 向域中存储数据
<c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>
<c:set var="varName" [scope="{ page|request|session|application }"]>
… 本体内容
</c:set>
<c:set value="value" target="target" property="propertyName" />
<c:set target="target" property="propertyName">
… 本体内容
</c:set>
5、<c:remove> 主要用来移除变量
<c:remove var="varName" [scope="{ age|request|session|application }"] />
6、<c:catch> 异常捕获
<c:catch var="msg">
Integer.parseInt("123a");
</c:catch>
${msg}
7、<c:if> 进行 if 判断
<c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>
本体内容
</c:if>
<c:if test="${not empty item.publish_time}">
内容
</c:if>
<c:if test="${item['domain']!=null}">
内容
</c:if>
<c:if test="${!empty permissionMap}">
内容
</c:if>
8、<c:choose> <c:when> <c:otherwise> 多路判断
<c:set var="score">85</c:set>
<c:choose>
<c:when test="${score>=90}">
你的成绩为优秀!
</c:when>
<c:when test="${score>=70&&score<90}">
您的成绩为良好!
</c:when>
<c:when test="${score>60&&score<70}">
您的成绩为及格
</c:when>
<c:otherwise>
对不起,您没有通过考试!
</c:otherwise>
</c:choose>
9、<c:url>
当用户禁止 cookie 以后,会自动在地址后面添加sessionId。
当使用绝对路径时,会自动在地址前添加应用名。
<a href="<c:url value='/jstl07.jsp'/>">访问jstl07</a>
10、<c:import url=""> 导入其它 JSP 页面
<c:import url="jstl06.jsp"/><br>
11、<c:redirect url=""> 重定向
当禁止 Cookie 后,会自动在地址后加上 SessionId
<c:redirect url="jstl12.jsp"/>
http://java.sun.com/jsp/jstl/fmt
JSTL格式化标签又称为I18N标签库,主要用来编写国际化的WEB应用,使用此功能可以对一个特定的语言请求做出合适的处理
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
1、<fmt:fromatNumber> 根据区域定制的方式将数字格式化成数字,货币,百分比
属性:
value:要格式化的数字
type:可以是数字(number),货币(currency),百分比(percent)
pattern:自定义格式化样式
currencyCode:ISO-4721货币代码,只适用于按照货币格式化的数字
currencySymbol: 货币符号,如¥,只适用于按照货币格式化的数字
groupingUsed: 是否包含分隔符
maxIntegerDigits: 整数部分最多显示多少位
mixIntegerDigits: 整数部分最少显示多少位
maxFractionDigits: 小数部分最多显示多位位
minFractionDigits: 小数部分最少显示多位位
var:存储格式化后的结果
scope: 存储的范围
2、<fmt:formatDate> 可以将日期格式化
属性:
value 用来格式化的时间或日期
type 指定格式化的是日期还是时间,或者两者都是取值范围:date,time,both
pattern 自定义格式化样式
dateStyle 日期的格式化样式
timeStyle 时间的格式化样式
timeZone 指定使用的时区
var 存储格式化后的结果
scope 指定存储的范围
3、<fmt:parseDate> 将字符串类型的时间转换为日期类型
属性:
value 用来格式化的时间或日期的字符串
type 指定格式化的是日期还是时间,或者两者都是取值范围:date,time,both
pattern 自定义格式化样式
dateStyle 日期的格式化样式
timeStyle 时间的格式化样式
timeZone 指定使用的时区
var 存储格式化后的结果
scope 指定存储的范围
4、<fmt:parseNumber> 用来将字符串类型的数字,货币或百分比转换成数字类型
属性:
value: 要转换的字符串
type: 指定要转换的字符串为什么类型,可取:number,percent,currency
pattern: 自定义格式化样式
parseLocale: 指定区域来转换字符串,zh_CN en_US
IntegerOnly: 转换后的数字是否只显示整数部分
var: 存储转换后的结果
scope: 存储的范围
5、<fmt:setTimeZone> value用来设定时区,如果有var属性,则将结果存储在所设定的范围之内.在属性范围内的页面都会使用该时区为默认时区.
value 设定时区,EST,CST,MST,PST等
var 存储设定的时区
scope 存储的范围
6、<fmt:timeZone> 用来暂时设置时区.
国际化标签:
1、<fmt:setLocale> 指定地区
<fmt:setLocale value="en">
2、<fmt:requestEncoding> 设置request的字符编码
<fmt:requestEncoding value="UTF-8"/>
3、<fmt:bundle> 绑定资源
<fmt:bundle basename="com.runoob.Example" prefix="count.">
<fmt:message key="title"/>
</fmt:bundle>
4、<fmt:message> 映射一个关键字给局部消息,然后执行参数替换
<fmt:message key="count.one" bundle="${lang}"/>
5、<fmt:param>
6、<fmt:setBundle> 用来载入一个资源束,然后将它存储在作用域中已命名的变量或bundle配置变量中
<fmt:setBundle basename="com.runoob.Example" var="lang"/>
3、 http://java.sun.com/jsp/jstl/functions
提供了一组常用的 EL 函数,主要用于处理字符串,在 JSP 中可以直接使用这些函数。
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
1、fn:contains 函数 : 用于判断在源字符串中是否包含目标字符串。
fn:contains(String source,String target) -------boolean;
2、fn:containsIgnoreCase 函数 : 用于判断在源字符串中是否包含目标字符串,并且在判断时忽略大小写。
fn: containsIgnoreCase (String source,String target) -------boolean;
3、fn:startsWith 函数 : 用于判断源字符串是否以指定的目标字符串开头。
fn:startsWith(String source,String target) ----boolean
4、fn:endsWith 函数:用于判断源字符串是否以指定的目标字符串结尾。
fn: endsWith (String source,String target) ----boolean
5、fn:indexOf 函数:用于在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引。
fn: indexOf (String source,String target) ----int
6、fn:replace 函数:用于把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。
fn: replace (String source,String before,String after) ----String
7、fn:substring 函数:用于获取源字符串中的特定子字符串。
fn:substring(String source,int beginIndex,int endIndex) ------String
8、fn:substringBefore 函数:用于获取源字符串中指定子字符串之前的子字符串。
fn:substringBefore(String source,String target) ----String
9、fn:substringAfter 函数:用于获取源字符串中指定子字符串之后的子字符串
fn: substringAfter (String source,String target) ----String
10、fn:split 函数:用于将源字符串拆分为一个字符串数组。
fn: split (String source,String delimiter) ----String[]
11、fn:join 函数:用于将源字符串数组中的所有字符串连接为一个字符串。
fn:join(String source[],String separator) ----String
12、fn:toLowerCase 函数:用于将源字符串中的所有字符改为小写。
fn:toLowerCase(String source) -----String
13、fn:toUpperCase 函数:用于将源字符串中的所有字符改为大写。
fn: toUpperCase (String source) -----String
14、fn:trim 函数:用于将源字符串中的开头和末尾的空格删除。
fn:trim(String source) ----String
15、fn:escapeXml 函数:用于将源字符串中的字符“ < ”、“ > ”、“ ” ”和“ & ”等转换为转义字符。
fn:escapeXml(String source) ----String
16、fn:length 函数:用于返回字符串中的字符的个数,或者集合和数组的元素的个数
fn:length(source) ---- int
4、http://www.springframework.org/tags/form
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
1、form:form
① action属性 用来设置表单提交的URL地址
② modelAttribute属性 后端存入model的名称,这里存入的是一个对象
2、form:input
path:存入mode的对象的属性
cssClass:相当于class属性
3、form:password
<form:password path="password" showPassword="true"/>
4、form:hidden
<form:hidden path="id"/>
5、form:textarea
<form:textarea path="description"/>
6、form:checkbox
<form:checkbox path="agree"/>
7、form:checkboxes
① items
可以是一个List、String[]或Map
② itemValue
通过指定bean的一个属性名生成radio的value值。可以是集合中bean的一个属性值
③ itemLabel
通过指定bean的一个属性名生成radio的label值
④ delimiter
多个单选框可以通过delimiter指定分隔符
<form:checkboxes items="${hobbyList}" itemLabel="name" itemValue="id" path="hobby" delimiter=","/>
8、form:radiobutton
<form:label path="sex">性别:</form:label>
<form:radiobutton path="sex" value="男"/>男
<form:radiobutton path="sex" value="女" label="女"/>
9、form:radiobuttons
① items
可以是一个List、String[]或Map
② itemValue
通过指定bean的一个属性名生成radio的value值。可以是集合中bean的一个属性值
③ itemLabel
通过指定bean的一个属性名生成radio的label值
④ delimiter
多个单选框可以通过delimiter指定分隔符
<form:radiobuttons path="sex" items="${sexList}" itemValue="name" itemLabel="value" delimiter=","/>
10、form:select
<form:select items="${addrMap}" path="addr"/>
11、form:options
<form:select path="addr">
<option value="">请选择城市</option>
<form:options items="${addrMap}"/>
</form:select>
13、form:errors
显示表单组件或数据校验所对应的错误 <form:errors path=””/>:显示表单所有的错误 <form:errors path=”user”/>:显示所有以user为前缀的属性对应的错误 <form:errors path=”userName”/>:显示特定表单对象属性的错误
14、form:label
<form:label path="name">姓名:</form:label>
15、form:button
<form:button disabled="disabled" id="button" name="submitValue">提交</form:button>
5、http://www.springframework.org/tags
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
1、spring:hasBindErrors 用于绑定对象的errors
name:要被检查的Bean的名字
<spring:hasBindErrors name="priceIncrease">
<b>Please fix all errors!</b>
</spring:hasBindErrors>
2、spring:bind 用来为某个bean或bean 的属性赋值
path:指明转到的类的路径
<spring:bind path="priceIncrease.percentage">
3、spring:transform 用来转换表单中不与bean中的属性一一对应的那些属性
value:必需要的
var:不是必需的。这个字符串被用来绑定输出结果到page,request, session或application scope.默认情况输出到jsp中。
scope:不是必需的。前提条件var必须设置的情况下。它的值可以是page,request, session或application。
4、<spring:message> 用于输出国际化消息,它的code属性用于指定国际化消息的key
code:不是必需的。用来查找message,如果没有被使用的话,text将被使用。
text:不是必需的。假如code不存在的话,默认是text输出。当code和text都没有设置的话,标记将输出为null.
var:不是必需的。这个字符串被用来绑定输出结果到page,request, session或application scope.默认情况输出到jsp中。
scope:不是必需的。前提条件var必须设置的情况下。它的值可以是page,request, session或application。
6、spring:theme
7、<spring:escapeBody> 对它包含的一段HTML代码执行转义。
htmlEscape:指定是否对HTML代码执行转义。
javaScriptEscape:指定是否对JS代码进行转义。
<spring:escapeBody htmlEscape="true" javaScriptEscape="true">
<ul>
<li>疯狂Java讲义</li>
</ul>
</spring:escapeBody>