jstl标注标签库
1. 常用标签
引入标签库:
<%@ taglib prefix=”c” uri=”” %>
- 1. C 标签
(1)<c:out value=”” default=”默认值” escapeXml=“false”(以HTML形式输出)> 输出是默认以文本形式输出
如何输出对象形式
${user.name}或者<c:out value=”${user.name}”>
(2)<c:set>用的不多
<c:set var=”name” value=”bob” scope=”requset”> àrequest.setAttribute(“name”,”bob”)
(3)<c:remove>
删除变量
<c:remove var=”name” scope=”request”>
(4)<c:catch>
用来捕获异常
<c:catch var=”o”>
可能出现异常的代码,如果出现异常,则会将异常变量付给o
</c:catch>
5 <c:redirect>标签
说明:标签将请求重新定向到另外一个页面,它有以下属性
例子: <c:redirect url="http://www.baidu.com/login.jsp"/>
将请求重新定向到http://www.baiddu.com/login.jsp页,相当于response.setRedirect ("http://www.yourname.com/login.jsp");
6、<c:param>标签
说明:<c:param>标签用来传递参数给一个重定向或包含页面,它有以下属性
例子: <c:redirect url="http://www.baidu.com/login.jsp">
<c:param name="paramName" value="paramValue"/>
</c:redirect>
这个就在地址栏里面显示的形式为:http://www.baidu.com/login.jsp?paramName=paramValue
(7)<c:if>
判断字符串
<c:if test=”${name==’hello’}”>
ok
</c:if>
判断数值,回自动转化成数值
<c:if test=”${name==123}”>
ok
</c:if>
判断对象的属性
<c:if test=”${user.age==12}”>
</c:if>
(8)<c:choose>
<c:choose>
<c:when test=””></c:when>
<c:when test=””></c:when>
<c:when test=””></c:when>
<c:otherwise></c:otherwise>
</c:choose>
(9)<c:foreach> 操作集合或者数组
<c:forEach items=”arraList(request域中取出)” var=”user” begin=“” end=””>
${user.name}
</c:forEach>
<c:forEach var="i" begin="1" end="10">
<c:out value="${i} <br>" escapeXml="false"></c:out>
</c:forEach>
<c:forEach var="i" begin="1" end="20" step="4">
<font color="red"><c:out value="${i }<br>" escapeXml="false"></c:out></font>
</c:forEach>
<c:forEach items="${al1 }" var="user">
<c:out value="name:${user.name} age:${user.age }<br>" escapeXml="false"></c:out>
</c:forEach>
<c:forTokens>
</c:forTokens>
.<c:out value=””></c:out>
对于request、session、application、pageContext里面的变量可以直接取出:
${name}
有限顺序为:从小到大—> pageContext>request>session>application
五、<fmt:>格式化标签,并显示
说明:需要导入 <%@ taglib prefix="fmt" http://java.sun.com/jsp/jstl/fmt">http://java.sun.com/jsp/jstl/fmt" %>
1)格式化日期<fmt:formatDate value=“” pattern=“yyyy-MM-dd HH:mm:ss”/>
Value:通过EL表达式或<%new Date() %> 取的日期值;
Pattern:输出的日期格式;诉讼
例如:
<fmt:formatDate value="${date }" pattern="yyyy-MM-dd"/>
<fmt:formatDate value="${date }" pattern="yyyy年MM月dd日"/>
2) 格式化数字<fmt:formatNumber value="${number}" pattern="###,###.##" />
用过struts1.x的人都知道,标签库有html、bean、logic、tiles,而struts2.0里的标签却没有分类,只用在jsp头文件加上
<%@ taglib prefix="s" uri="/struts-tags" %>
就能使用struts2.0的标签库,JSTL中有部分在Struts2中得到完善和增强,以下列出Struts2常见的标签以作备忘(有错请指正):
A:
<s:a href=""></s:a>-----超链接,类似于html里的<a></a>
<s:action name=""></s:action>-----执行一个view里面的一个action
<s:actionerror/>-----如果action的errors有值那么显示出来
<s:actionmessage/>-----如果action的message有值那么显示出来
<s:append></s:append>-----添加一个值到list,类似于list.add();
<s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax
B:
<s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值
C:
<s:checkbox></s:checkbox>-----复选框
<s:checkboxlist list=""></s:checkboxlist>-----多选框
<s:combobox list=""></s:combobox>-----下拉框
<s:component></s:component>-----图像符号
D:
<s:date/>-----获取日期格式
<s:datetimepicker></s:datetimepicker>-----日期输入框
<s:debug></s:debug>-----显示错误信息
<s:div></s:div>-----表示一个块,类似于html的<div></div>
<s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----双下拉框
E:
<s:if test=""></s:if>
<s:elseif test=""></s:elseif>
<s:else></s:else>-----这3个标签一起使用,表示条件判断
F:
<s:fielderror></s:fielderror>-----显示文件错误信息
<s:file></s:file>-----文件上传
<s:form action=""></s:form>-----获取相应form的值
G:
<s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用
H:
<s:head/>-----在<head></head>里使用,表示头文件结束
<s:hidden></s:hidden>-----隐藏值
I:
<s:i18n name=""></s:i18n>-----加载资源包到值堆栈
<s:include value=""></s:include>-----包含一个输出,servlet或jsp页面
<s:inputtransferselect list=""></s:inputtransferselect>-----获取form的一个输入
<s:iterator></s:iterator>-----用于遍历集合
L:
<s:label></s:label>-----只读的标签
M:
<s:merge></s:merge>-----合并遍历集合出来的值
O:
<s:optgroup></s:optgroup>-----获取标签组
<s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右选择框
P:
<s:param></s:param>-----为其他标签提供参数
<s:password></s:password>-----密码输入框
<s:property/>-----得到'value'的属性
<s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性
R:
<s:radio list=""></s:radio>-----单选按钮
<s:reset></s:reset>-----重置按钮
S:
<s:select list=""></s:select>-----单选框
<s:set name=""></s:set>-----赋予变量一个特定范围内的值
<s:sort comparator=""></s:sort>-----通过属性给list分类
<s:submit></s:submit>-----提交按钮
<s:subset></s:subset>-----为遍历集合输出子集
T:
<s:tabbedPanel id=""></s:tabbedPanel>-----表格框
<s:table></s:table>-----表格
<s:text name=""></s:text>-----I18n文本信息
<s:textarea></s:textarea>-----文本域输入框
<s:textfield></s:textfield>-----文本输入框
<s:token></s:token>-----拦截器
<s:tree></s:tree>-----树
<s:treenode label=""></s:treenode>-----树的结构
U:
<s:updownselect list=""></s:updownselect>-----多选择框
<s:url></s:url>-----创建ur