第四章 JSTL标准标签库
常用标签库:
Core —— 核心标签库
Fmt —— 格式化+国际化(I18N)
Core标签库中常用标签:
<c:set var="num" value="12" scope="request" /> <c:set var="str" value="abc" scope="request" />
<c:if test="${str eq 'abc'}"> ok........ </c:if>
<!-- 只能执行普通的条件判断,没有else功能 ;如果需要使用else,使用choose标签--> <c:if test="${num!=10}"> ${requestScope.num } </c:if>
<!-- 类似于switch --> <c:choose> <c:when test="${num>10}"> >10 </c:when> <c:when test="${num<10}"> <10 </c:when> <c:otherwise> 其他情况,你懂的!!!== </c:otherwise> </c:choose> |
<c:forEach items=”数据” var=”当前变量” setp=”增量” varStatus=”当前变量状态”> //状态可取的值:index \ first \ last </c:forEach> |
<c:forTokens items=”数据” var=”当前变量” varStatus=”当前变量状态” delims=”分隔符”> </c:forTokens> |
<c:import url=”访问的路径” /> 访问外部资源标签 |
<c:redirect url=”路径” /> 重定向标签 |
<c:param name=”参数名”>参数值</c:param> |
Fmt(Format)标签库中常用标签:
Fmt标签库 = 格式化 + 国际化(I18N)
格式化代码:
<% Date d = new Date(); request.setAttribute("date",d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM-dd HH:mm:ss.S"); out.println(sdf.format(d)+"<br />");
DecimalFormat dd = new DecimalFormat("#.##"); out.println(dd.format(1050.454)+"<br />");
%> <hr /> <f:formatDate value="${date}" pattern="yyyy年MM-dd HH:mm:ss.S"/> <hr /> <f:formatNumber value="1050.454" pattern="#.####" /> |
国际化:
1. 什么是国际化?
国际化:可以根据浏览器中语言的设置,自动完成语言的切换功能。
2. 国际化步骤?
国际化不是浏览器自动翻译。
2.1 在项目的src目录下,创建国际化所需要的资源文件(中文、英文、其他等)。
资源文件命名:名字_语言_国家.properties 例如:message_en_US.properties
2.2 在jsp页面使用国际化标签获取资源文件中的内容。
<!-- 绑定资源文件名 --> <f:setBundle basename="message"/>
<form action=""> <f:message key="title" /><br /> <f:message key="name" /><input /><br /> <f:message key="pwd" /><input /><br /> <input type="submit" value="<f:message key='btn' />" /> </form> |