JSTL标签库的使用

  1 <%@page import="cn.woo.entity.Person"%>
  2 <%@page import="java.util.List"%>
  3 <%@page import="java.util.ArrayList"%>
  4 <%@ page language="java" contentType="text/html; charset=UTF-8"
  5     pageEncoding="UTF-8"%>
  6 <!--
  7     使用@taglib 指令引入标签库
  8     uri:为标签库的地址【此处使用的是jsp的标准标签库,里面标签还有很多此处不一一演示】
  9     prefix:自定义的标签前缀,使用的时候需要写该前缀
 10  -->
 11 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 12
 13 <!--
 14     ========================================================================================
 15     其他jstl有关的标签库和函数库,可自行查询每个库中标签的使用方式【也可以借助Eclipse中的提示功能查看各个库中的标签以及标签的属性】
 16     ========================================================================================
 17  -->
 18 <!-- jstl的fmt格式化标签库 -->
 19 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
 20 <!-- jstl的fn方法库:包含了向字符串截取等方法 -->
 21 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
 22 <!-- jstl关于sql方面的标签库:包含了操作sql的标签-->
 23 <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
 24 <!-- jstl关于xml方面的标签库:包含了操作xml的标签-->
 25 <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="xml"%>
 26
 27 <!-- ======================================================================================= -->
 28 <%
 29     // 创建Person集合
 30     List<Person> persons  = new ArrayList<Person>();
 31     Person p1 = new Person("23","wpp");
 32     Person p2 = new Person("24","waa");
 33     persons.add(p1);
 34     persons.add(p2);
 35     // 要将数据放置在域中才能使用EL表达式获取展示,之前使用<jsp:use>行为创建的对象默认存放在page域对象中
 36     request.setAttribute("personList", persons);
 37
 38     //后面演示set标签操作对象的时候使用
 39     pageContext.setAttribute("p1", p1);
 40 %>
 41 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 42 <html>
 43 <head>
 44 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 45 <title>演示JSTL常用标签的使用</title>
 46 </head>
 47 <body>
 48     <!-- out输出标签
 49          default:[${ param.action }没有获取到数值的时候显示默认值]
 50          escapeXml:对一些特殊字符进行编码如:‘>‘ ‘<‘ ‘&‘
 51     -->
 52     <c:out value="${ param.action }" default="没有action参数" escapeXml="true"></c:out>
 53     <c:out value="${ ‘<>‘ }" default="默认数值" escapeXml="true"></c:out>
 54
 55     <!-- if标签
 56            条件写在test属性中,字符串的比较直接使用==进行比较
 57     -->
 58     <c:if test="${ param.action == ‘login‘ }">
 59         <div>登陆面板</div>
 60     </c:if>
 61     <c:if test="${ param.action == homepage}">
 62         <div>主页面</div>
 63     </c:if>
 64
 65     <!-- 利用choose、when、otherwise 标签实现if else功能-->
 66     <c:choose>
 67         <c:when test="${ param.action == ‘login‘}">
 68             <div>登陆面板</div>
 69         </c:when>
 70         <c:otherwise>
 71             <div>非登陆面板</div>
 72         </c:otherwise>
 73     </c:choose>
 74
 75     <!-- 利用forEach标签 输出1~100之间的所有偶数
 76          begin:起始位置
 77          end:结束位置
 78          step:遍历过程中每一次跳过的步数
 79          var:设置当前遍历项的名称
 80          items:被遍历的集合数据 如:${persons} ===>人员信息集合
 81          varStatus:保存当前被遍历对象的信息【如:当前被遍历元素的索引等】
 82     -->
 83     <%-- <c:forEach begin="2" end="100" step="2" var="number" varStatus="">
 84         <p>${ number }</p>
 85     </c:forEach> --%>
 86     <!-- 遍历Persons集合 -->
 87     <c:forEach items="${ personList }" var="person" varStatus="objStatus">
 88         <p>名称:${ person.name }&nbsp;&nbsp;&nbsp;序号:${ objStatus.index }</p>
 89     </c:forEach>
 90
 91     <!-- forTokens标签
 92            和forEach标签的使用方式一样,都有items var varStatus begin end step 等属性
 93            不同的是forEach标签的items中放置的是集合或者对象,而forTokens标签的items属性中放置的是字符串
 94            它会将该字符串按照delims的值进行分割展示
 95      -->
 96     <c:forTokens items="aaa,bbb,ccc,ddd,eee" delims="," var="str">
 97         <p>数值:${ str }</p>
 98     </c:forTokens>
 99
100     <!-- set标签
101                       可以创建/修改 变量或者对象中的属性【前提条件是对象的属性拥有set方法】
102           scope:操作的变量放置的域/新创建的变量要放置的域 【page、request、session、application】
103           value:要设置的数值
104           var:【只能操作:Integer\Double\Float\String】类型不能操作javaBean和Map
105           property:被操作的对象的属性名称/或者map中的一个key
106           target:对象名称/或者map集合名称    【property和target常用来操作javaBean和Map============>只能用来操作已经存在的对象,不能创建对象】
107      -->
108      <!-- set创建变量,存放网站总访问次数,和当前客户端的访问次数 -->
109      <c:set scope="application" value="${ totalCount+1 }" var="totalCount"> </c:set>
110      <c:set scope="session" value="${ count+1 }" var="count"></c:set>
111        本站总访问人数:${ totalCount }<br>
112        您的访问次数为:${ count }<br>
113      <!-- set操作javaBean -->
114      <c:set value="更改后的名称" target="${ p1 }" property="name"></c:set>
115      <c:out value="${ p1.name }"></c:out>
116 </body>
117 </html>

原文地址:https://www.cnblogs.com/wooyoohoo/p/9523549.html

时间: 2024-11-09 15:02:04

JSTL标签库的使用的相关文章

JSTL标签库:Remove标签Catch标签

看注释 <c:remove> 标签删除变量,无论是从指定的范围内或范围内的变量(如果没有指定范围).这个动作通常是不特别有帮助,但它可以帮助确保一个JSP范围内的资源,它负责清理. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!-- 核心标签: 核心组的标签是最常用的JSTL标签.以下是在您的JSP的语法包括JSTL核心库

使用JSTL标签库替换Struts1中的logic标签

如题所示,在做一个基于SSH框架的实战小项目时,发现不少地方都还在使用logic标签.这个标签不仅我不熟悉,而且在现在看来也显得过时了,因此我就想替换成我熟悉的JSTL标签 比如说,原来是这样的: <logic:present scope="request" name="onSaleGoodsList">      <table border="0">    <s:iterator id="goods&qu

JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% request.setCharacterEncoding("UTF-8"); %> <jsp:forward page="/index.jsp"> <jsp:param value="张三" name="userName&q

springMVC项目引入jstl标签库若干问题的总结

中午,不知道动到项目的哪个地方了,之前在联系人列表页面用的好好的jstl标签库突然报错了:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>的时候报错,说找不到uri.我之前是配置好了的,于是在Eclipse菜单条找到project-clean,清理当前项目,然后就好了.假设这种方法行不通,而你的项目恰好又是通过Maven来管理的,那么能够在项目上右键-选择run as-Maven

&lt;转&gt;JSTL标签库的版本

参考 http://www.bubuko.com/infodetail-1077023.html http://janedoneway.iteye.com/blog/1245949 从来没认为这是个问题,不过最近发现网上关于这方面的资料比较乱,现将自己的了解整理在此,以备查阅. ? 开发团队经常使用jstl标签库,开始也没在意,大家都是简单引入jstl.jar和standard.jar,后来发现这两个包也有版本差别,各项目小组用的不同,在jsp中定义也有差别,还会引起冲突和代码不兼容.于是想在网

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分类: 1)内置标签(动作标签): 不需要在jsp页面导入标签 2)jstl标签: 需要在jsp页面中导入标签 3)自定义标签 : 开发者自行定义,需要在jsp页面导入标签 1.内置标签(动作标签): <jsp:forward />转发标签: 语法:<jsp:forward page="

Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成service方法中out.write(表达式或变量) <%!java代码%>:被翻译成servlet的全局的内容,方法,全局变量 2.jsp的运行原理 jsp在运行时翻译成servlet index.jsp------>work/index_jsp.java----->work/inde

JSTL标签库不起作用的解决方案 .(转)

原文出处:http://blog.csdn.net/cheung1021/article/details/6625703 开始的时候是JDK1.6+JSTL1.2这样的组合,一切都很正常,后来由于服务器上的JDK版本是1.5的,所以后来换成JDK1.5+JSTL1.0这样的组合,换成JSTL1.0后,问题就来了,JSP页面的EL标签直接成字符串便出了,后来经一番周折,总算解决了问题: 1. 修改WEB.XML 版本号为2.4 <web-app   xmlns= "http://java.s

JavaWeb基础—EL表达式与JSTL标签库

EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一个小案例: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.jiangbei.domain

Java Web(七) JSTL标签库

在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上EL表达式看似能满足我们的要求,它能够获取各种对象,各种值,并且还不会抛出NullPointerException之类的错误,但是EL表达式功能还是有限,例如不能遍历集合等,因此为了完善JSP,让其完全不使用java代码,就有了jstl标签库,使用jstl和EL的配合使用,基本上可以实现所有的功能,显示数据,遍历数据等. 一.为什么