jstl小结

JSTL即JSP标准标签库标准,当前标准的版本是1.1。JSTL是JSP标签库的一种应用。

官方网址:

http://java.sun.com/products/jsp/jstl/


JSTL标记库由以下标记组成:
core:核心标签,流程控制, 处理作用域变量, 变量的显示, 异常的处理, url的处理;
formatting:日期, 时间, 数字等的有关i18n的格式化处理;
xml:解析xml和通过xsl转换文档格式的处理;
sql:SQL数据库操作的处理。

比较常用的是core和formatting标签。xml标签用于特定场景的数据显示,sql标签用于敏捷开发(j2ee开发为了分工和关注分离,往往通过dao在java代码中封装sql操作)
安装JSTL

复制以下jar文件到WEB-INF/lib:

jstl.jar
standard.jar
core标签

在需要核心标签支持的JSP页面中加入:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
设置和显示变量

国家:<c:out value="${address.state}" default="不详"/><br /><c:set target="${address}" property="state" value="中国"/>国家:<c:out value="${address.state}" default="不详"/><br />

out可以设置默认值,这是EL无法做到的。

创建变量(上面是赋值javabean属性):

<c:set var="test" value="变量测试" scope="session"/>${test }
条件流程

类似java的if语句:

<c:if test="true"> 包含在&lt;c:if>中的内容.<br/></c:if>

test属性中的是结果为bool型的表达式。
分支流程

类似java的if/else(虽然表面上看起来更像switch/case):

<c:choose> <c:when test="${address.city==’北京’}"> 地址.城市:北京 </c:when> <c:when test="${address.city==’上海’}"> 地址.城市:上海 </c:when> <c:otherwise> 地址.城市:其他城市 </c:otherwise> </c:choose>
循环流程

简单的循环, 类似for循环:

<c:forEach var="i" begin="0" step="1" end="9"> 循环${i}次<br/> </c:forEach>

类似iterator的用法:

<%List list=new ArrayList();list.add("中国");list.add("美国");list.add("日本"); request.setAttribute("countryInfos",list);%><p />国家列表:<br /> <c:forEach items="${countryInfos}" var="country">${country }<br /> </c:forEach>
处理Java异常

<c:catch var="e"> <% if (true){ throw new Exception("测试异常的消息"); } %> </c:catch>打印异常的消息:${e.message} <br>
处理URL

在需要url重写或者url中包含特殊字符时,需要url标签:

定义url

<c:url value="" var="localUrl"> <c:param name="persent" value="70%" /></c:url>

在html链接中使用url类型变量:

<a href="${localUrl}">本页面URL</a><br />
格式化标签

在需要格式化标记支持的JSP页面中加入:

<%@ taglib prefix="fmt"
uri="http://java.sun.com/jsp/jstl/fmt" %>
格式化数字

<c:set var="aNumber" value="100.1257000003"></c:set>显示为金额: <fmt:formatNumber type="currency" value="${aNumber}" /><br />显示为百分数: <fmt:formatNumber type="percent" value="${aNumber}"/><br />显示为指定格式: <fmt:formatNumber value="${aNumber}" pattern=".###"/><br />

常用格式:
type="currency", 使用本地货币;
type="percent", 使用百分数格式;
pattern=".###", 自定义格式, 小数点后保留3位。
格式化日期

将字符串解析为日期对象:

<fmt:parseDate var="aDate" pattern="yyyy-MM-dd" value="1999-1-1"/>

将日期对象格式化输出:

<fmt:formatDate value="${aDate}" pattern="yyyy年MM月dd日"/><br />
国际化消息

配置web.xml文件, 加入:

<context-param> <param-name> javax.servlet.jsp.jstl.fmt.localizationContext </param-name> <param-value>ApplicationResources</param-value> </context-param>

在classpath根目录下编写ApplicationResources.properties:

userName=User Name

在JSP页面中使用:

<fmt:message key="userName" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值