manbetx官方网站

JSTL标签库。JSTL标签库。

九月 30th, 2018  |  manbet体育登录

一、JSTL的概述

一、JSTL的概述

1、Apache开发与保障,依赖EL表达式

1、Apache开发及保安,依赖EL表达式

2、Apache Tomcat安装JSTL 库步骤如下:

2、Apache Tomcat安装JSTL 库步骤如下:

  从Apache的正式标签库中下载的次上包(jakarta-taglibs-standard-current.zip)。

  从Apache的正统标签库中下载的老二迈入包(jakarta-taglibs-standard-current.zip)。

  • 合法下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
  • 法定下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

  下载jakarta-taglibs-standard-1.1.2.zip
包并解压,将jakarta-taglibs-standard-1.1.2/lib/下的少单jar文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下。

  下载jakarta-taglibs-standard-1.1.2.zip
包并解压,将jakarta-taglibs-standard-1.1.2/lib/下之鲜单jar文件:standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下。

3、四大库

3、四大库

  • core:核心库
  • fmt:格式化,日期与数字
  • sql:过时
  • xml:过时
  • core:核心库
  • fmt:格式化,日期及数字
  • sql:过时
  • xml:过时

4、使用taglib指令导入标签库

4、使用taglib指令导入标签库

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

5、core标签库常用标签

5、core标签库常用标签

①out和set

①out和set

  • <c:out>:输出
    • value:可以是字符串常量,也堪是EL表达式
    • default:当要出口的情吧null时,会输出default指定的价
    • escapeXml:默认值为true,表示转义。
  • <c:out>:输出
    • value:可以是字符串常量,也可以是EL表达式
    • default:当要出口的情吗null时,会输出default指定的价值
    • escapeXml:默认值为true,表示转义。
示例 说明
<c:out value="aaa"/> 输出aaa字符常量
<c:out value="${aaa}"/> 与${aaa}相同,全域查找
<c:out value="${aaa}" default="xxx"/> 当${aaa}不存在时,输出xxx字符

<%

request.setAttribute("a","<script>alert(‘hello’);</script>");

%>

<c:out value="${a}" default="xxx" escapeXml="false"/>

当escapeXml为false,不会转换“<”、">"。

这可能会收到JavaScript攻击。

示例 说明
<c:out value="aaa"/> 输出aaa字符常量
<c:out value="${aaa}"/> 与${aaa}相同,全域查找
<c:out value="${aaa}" default="xxx"/> 当${aaa}不存在时,输出xxx字符

<%

request.setAttribute("a","<script>alert(‘hello’);</script>");

%>

<c:out value="${a}" default="xxx" escapeXml="false"/>

当escapeXml为false,不会转换“<”、">"。

这可能会收到JavaScript攻击。

  • <c:set>:设置(创建域的性质)
  • var:变量名
  • value:变量值,可以是EL表达式
  • scope:域,默认为page,可选值,page、request、session、application。
  • <c:set>:设置(创建域的特性)
  • var:变量名
  • value:变量值,可以是EL表达式
  • scope:域,默认为page,可选值,page、request、session、application。
示例 说明
<c:set var="a" value="hello"/> 在pageContext中添加name为a,value为hello的数据
<c:set var="a" value="hello" scope="sesssion"/> 在session中添加name为a,value为hello的数据
示例 说明
<c:set var="a" value="hello"/> 在pageContext中添加name为a,value为hello的数据
<c:set var="a" value="hello" scope="sesssion"/> 在session中添加name为a,value为hello的数据

②remove

②remove

  • <c:remove>:删除域变量
    • var:变量名
    • scope:如果未深受出scope,表示去所有域中该名的变量;如果指定了域,那么单纯去该域的变量。
  • <c:remove>:删除域变量
    • var:变量名
    • scope:如果不吃出scope,表示去所有域中该名的变量;如果指定了域,那么就去该域的变量。
示例 说明
<%
  pageContext.setAttribute("a","pageContext");
  request.setAttribute("a","request");
  session.setAttribute("a","session");
  application.setAttribute("a","application");
%>
<c:remove var="a"/>
<c:out value="${a}" default="none"/>
删除所有域中name为a的数据。
<c:out value="${a}" scope="page"/>
删除pageContext中name为a的数据
示例 说明
<%
  pageContext.setAttribute("a","pageContext");
  request.setAttribute("a","request");
  session.setAttribute("a","session");
  application.setAttribute("a","application");
%>
<c:remove var="a"/>
<c:out value="${a}" default="none"/>
删除所有域中name为a的数据。
<c:out value="${a}" scope="page"/>
删除pageContext中name为a的数据

③url:url标签会在待URL重写时补充加sessionId 。

③url:url标签会在需要URL重写时加加sessionId 。

  • value:指定一个门道,它会于路线前面自动抬高项目名为。
    • <c:url value=”/index.jsp/”>,它见面输出/day13_1/index.jsp
  • 分标签:<c:param>,用来为url后面长参数。
  • var:指定变量名,一旦上加了此特性,那么url标签便未会见重复出口到页面,而是把生成url保存到域中。 
  • value:指定一个门道,它见面当路前面自动抬高项目名为。
    • <c:url value=”/index.jsp/”>,它会输出/day13_1/index.jsp
  • 旁标签:<c:param>,用来被url后面长参数。
  • var:指定变量名,一旦上加了这个特性,那么url标签就是不见面另行出口到页面,而是将生成url保存到域中。 
示例 说明
<c:url value="/"/>
输出上下文路径:/day08_1/
<c:url value="/" var="a" scope="request"/>
把本该输出的结果赋给变量a,范围为request
<c:url value="/AServlet"/>
输出上下文路径:/day08_1/AServlet

<c:url value="/AServlet">

<c:param name="username" value="abc"/>

<c:param name="password" value="123"/>

</c:url>

输出:/day08_1/AServlet?username=abc&password=123

如果参数中包含中文,那么会自动使用URL编码。

示例 说明
<c:url value="/"/>
输出上下文路径:/day08_1/
<c:url value="/" var="a" scope="request"/>
把本该输出的结果赋给变量a,范围为request
<c:url value="/AServlet"/>
输出上下文路径:/day08_1/AServlet

<c:url value="/AServlet">

<c:param name="username" value="abc"/>

<c:param name="password" value="123"/>

</c:url>

输出:/day08_1/AServlet?username=abc&password=123

如果参数中包含中文,那么会自动使用URL编码。

④if:if标签的test属性必须是一个boolean类型的价,如果test的值也true,那么执行if标签的情,否则不履行。

④if:if标签的test属性必须是一个boolean类型的价值,如果test的价为true,那么执行if标签的始末,否则不实行。

<c:set var="a" value="hello"/>
<c:if test="${not empty a}">
     <c:out value="${a}"/>
</c:if>
<c:set var="a" value="hello"/>
<c:if test="${not empty a}">
     <c:out value="${a}"/>
</c:if>

⑤choose:choose标签对应Java中的if/else
if/else结构。when标签的test为true时,会履此when的情节。当有when标签的test都也false时,才见面执行otherwise标签的情节。

⑤choose:choose标签对应Java中之if/else
if/else结构。when标签的test为true时,会实施是when的内容。当有着when标签的test都为false时,才会履行otherwise标签的内容。

<c:set var="score" value="${param.score}"/>
<c:choose>
    <c:when test="${score >100 || score <0 }错误的分数:${score}</c:when>
    <c:when test="${score >=90 }A级</c:when>
    <c:when test="${score >=80 }B级</c:when>
    <c:when test="${score >=70 }C级</c:when>
    <c:when test="${score >=60 }D级</c:when>
    <c:otherwise>E级</c:otherwise>
</c:choose>
<c:set var="score" value="${param.score}"/>
<c:choose>
    <c:when test="${score >100 || score <0 }错误的分数:${score}</c:when>
    <c:when test="${score >=90 }A级</c:when>
    <c:when test="${score >=80 }B级</c:when>
    <c:when test="${score >=70 }C级</c:when>
    <c:when test="${score >=60 }D级</c:when>
    <c:otherwise>E级</c:otherwise>
</c:choose>

⑥forEach:它之所以来循序遍历数组、集合,还好据此来计量方式来循环。

⑥forEach:它之所以来循序遍历数组、集合,还好为此来算办法来循环。

<%--计数方式,1<=i<=10 --%>
<c:forEach var="i" begin="1" end="10" step="2">
     ${i}
</c:forEach>

//等同于下式
for(int i = 1; i <= 10; i++){}
<%--计数方式,1<=i<=10 --%>
<c:forEach var="i" begin="1" end="10" step="2">
     ${i}
</c:forEach>

//等同于下式
for(int i = 1; i <= 10; i++){}

属性:

属性:

  • var:循环变量
  • begin:设置循环变量从几开头
  • end:设置循环变量到几乎为止。
  • step:设置步长,等同于i++,或i+=2,step默认为1.


       ${str }<br/>
    

    /c:forEach

    //等同于
    for(String str: strs ){…}

  • var:循环变量
  • begin:设置循环变量从几初步
  • end:设置循环变量到几收。
  • step:设置步长,等同于i++,或i+=2,step默认为1.


       ${str }<br/>
    

    /c:forEach

    //等同于
    for(String str: strs ){…}

属性:

属性:

  • items:指定要循环谁,它可是一个数组或一个集合
  • var :把数组或集合中的每个元素赋值给var指定的变量。
  • 留神:在 items=”${strs }”中,“ }” ”大括声泪俱下及双引号之间莫能够有空格。
  • items:指定要循环谁,它可是一个数组或一个凑
  • var :把数组或集合中的每个元素赋值给var指定的变量。
  • 留神:在 items=”${strs }”中,“ }” ”大括号和双引号之间无克闹空格。

循环状态:可以利用varStaturs来创造循环状态变量。

循环状态:可以运用varStaturs来创造循环状态变量。

  <%
    ArrayList<String> list = new ArrayList<String>();
    list.add("one");
    list.add("two");
    list.add("three");

    request.setAttribute("list",list);
  %>
  <c:forEach items="${list}" var="ele" varStatus="vs">
    ${vs.count} ${vs.index} ${vs.first} ${vs.last}
  </c:forEach>
  <%
    ArrayList<String> list = new ArrayList<String>();
    list.add("one");
    list.add("two");
    list.add("three");

    request.setAttribute("list",list);
  %>
  <c:forEach items="${list}" var="ele" varStatus="vs">
    ${vs.count} ${vs.index} ${vs.first} ${vs.last}
  </c:forEach>

巡回状态变量有如下属性:

循环状态变量有如下属性:

  • count:循环元素的个数。
  • index:循环元素的下标。
  • first:是否也第一只因素
  • last:是否为终极一个素
  • current:当前元素
  • count:循环元素的个数。
  • index:循环元素的下标。
  • first:是否也率先独元素
  • last:是否也最终一个因素
  • current:当前因素

6、fmt库:格式化库

6、fmt库:格式化库

①格式化日期

①格式化日期

<fmt:formatDate value=”” pattern=””/>

<fmt:formatDate value=”” pattern=””/>

<%
   Date date = new Date();
   request.setAttribute("d",date);
%>
 <fmt:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss"/>
<%
   Date date = new Date();
   request.setAttribute("d",date);
%>
 <fmt:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss"/>
  • value:指定一个Date类型的变量
  • pattern:用来指定输出的模板。
  • value:指定一个Date类型的变量
  • pattern:用来指定输出的模板。

<fmt:formatNumber value=”${num1}” pattern=”0.00″>

<fmt:formatNumber value=”${num1}” pattern=”0.00″>

封存小数点后2各,它见面四放弃五称,如果不足半个,以0补个。

保留小数点后2号,它见面四放弃五契合,如果不足半各类,以0补个。

<fmt:formatNumber value=”${num1}” pattern=”#.##”>

<fmt:formatNumber value=”${num1}” pattern=”#.##”>

保存小数点后2各,它见面四放弃五副,如果不足半员,不弥个。

封存小数点后2号,它见面四放弃五抱,如果不足半各项,不上个。

相关文章

标签:, , , , , , , , ,

Your Comments

近期评论

    功能


    网站地图xml地图