初学jxtl标签

jxtl标签在web项目中用到的比较多,所以现在空闲,想初步了解一下。作下记录,方便以后学习。开始进入主题。

首先使用jxtl标签时,必须在jsp头部引用它,即  <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>.

下面分别对这些标签进行说明:

1. <c:out> 用来显示数据对象(字符串、表达式)的内容或结果

使用Java脚本的方式为:<% out.println("hello") %>  <% =表达式 %>

使用JSTL标签:<c:out value="字符串">,例如:

<body>
  <c:out value="&lt要显示的数据对象(未使用转义字符)&gt" escapeXml="true" default="默认值"></c:out><br/>
  <c:out value="&lt要显示的数据对象(使用转义字符)&gt" escapeXml="false" default="默认值"></c:out><br/>
  <c:out value="${null}" escapeXml="false">使用的表达式结果为null,则输出该默认值</c:out><br/>
</body>

2.

  <c:set>标签的编写共有4种语法格式。
  语法1:存值,把一个值放在指定的域范围内。
    <c:set value=”值1” var=”name1” [scope=”page|request|session|application”]/>
    含义:把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。
  语法2:
    <c:set var=”name2” [scope=”page|request|session|application”]>
      值2
    </c:set>
    含义:把一个变量名为name2,值为值2的变量存储在指定的scope范围内。
  语法3:
    <c:set value=”值3” target=”JavaBean对象” property=”属性名”/>
    含义:把一个值为“值3”赋值给指定的JavaBean的属性名。相当与setter()方法。
  语法4:
    <c:set target=”JavaBean对象” property=”属性名”>
      值4
    </c:set>
    含义:把一个值4赋值给指定的JavaBean的属性名。
  从功能上分语法1和语法2、语法3和语法4的效果是一样的,只是把value值放置的位置不同,至于使用那个根据个人的喜爱,语法1和语法2是向scope范围内存储一个值,语法3和语法4是给指定的JavaBean赋值。

<c:set> 用于将变量存取于 JSP 范围中或 JavaBean 属性中。下面的例子中假设已经有 Person.java 这个类文件。

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page contentType="text/html; charset=utf-8" %>

<jsp:useBean id="person" class="lihui.Person"></jsp:useBean>

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JSTL测试</title>
  </head>

  <body>
  <c:set value="张三" var="name1" scope="session"></c:set>
  <c:set var="name2" scope="session">李四</c:set>
  <c:set value="赵五" target="${person}" property="name"></c:set>
  <c:set target="${person}" property="age">19</c:set>
  <li>从session中得到的值:${sessionScope.name1}</li>
  <li>从session中得到的值:${sessionScope.name2}</li>
  <li>从Bean中获取对象person的name值:<c:out value="${person.name}"></c:out></li>
  <li>从Bean中获取对象person的age值:<c:out value="${person.age}"></c:out></li>
  </body>
</html>

3.<c:if>条件判断

<c:if test="条件1" var="name" [scope="page|request|session|application"]></c:if>

把条件1的结果(true或者false)存到var变量中,范围有以上四个。

4. <c:choose> <c:when> <c:otherwise> 三个标签通常嵌套使用,第一个标签在最外层,最后一个标签在嵌套中只能使用一次

 <c:set var="score">85</c:set>
    <c:choose>
    <c:when test="${score>=90}">
    你的成绩为优秀!
    </c:when>
    <c:when test="${score>=70&&score<90}">
    您的成绩为良好!
    </c:when>
    <c:when test="${score>60&&score<70}">
    您的成绩为及格
    </c:when>
    <c:otherwise>
    对不起,您没有通过考试!
    </c:otherwise>
    </c:choose>

5.最常用的<c:forEach>循环标签

语法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>

其中, var 用于存储从集合中取出的元素;items 指定要遍历的集合;varStatus 用于存放集合中元素的信息。begin表示循环的开始,end表示结束,这两个一般用于分页。

具体用法:

1 <%@ page contentType="text/html;charset=utf-8" %>
2 <%@page import="java.util.List"%>
3 <%@page import="java.util.ArrayList"%>
4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
5 <html>
6 <head>
7     <title>JSTL: -- forEach标签实例</title>
8 </head>
9 <body>
10 <h4><c:out value="forEach实例"/></h4>
11 <hr>
12     <%
13         List a=new ArrayList();
14         a.add("贝贝");
15         a.add("晶晶");
16         a.add("欢欢");
17         a.add("莹莹");
18         a.add("妮妮");
19     request.setAttribute("a",a);
20 %>
21     <B><c:out value="不指定begin和end的迭代:" /></B><br>
22     <c:forEach var="fuwa" items="${a}">
23     &nbsp;<c:out value="${fuwa}"/><br>     《!--如果a装的是对象集合可以直接用  对象.getxxx()方法获得属性值--》
24     </c:forEach>
25     <B><c:out value="指定begin和end的迭代:" /></B><br>
26     <c:forEach var="fuwa" items="${a}" begin="1" end="3" step="2">
27     &nbsp;<c:out value="${fuwa}" /><br>
28     </c:forEach>
29     <B><c:out value="输出整个迭代的信息:" /></B><br>
30     <c:forEach var="fuwa" items="${a}" begin="3" end="4" step="1" varStatus="s">
31     &nbsp;<c:out value="${fuwa}" />的四种属性:<br>
32     &nbsp;&nbsp;所在位置,即索引:<c:out value="${s.index}" /><br>
33     &nbsp;&nbsp;总共已迭代的次数:<c:out value="${s.count}" /><br>
34     &nbsp;&nbsp;是否为第一个位置:<c:out value="${s.first}" /><br>
35     &nbsp;&nbsp;是否为最后一个位置:<c:out value="${s.last}" /><br>
36     </c:forEach>
37 </body>
38 </html>
时间: 2024-08-26 22:09:39

初学jxtl标签的相关文章

初学HTML 常见的标签

最近做iOS开发的过程中, 发现要涉及到JS和原生OC(Swift)的交互, 作为一个Developer, 本着克服一切问题的原则, 开始学习HTML, 在这里记录下自己的学习笔记, 方便以后的复习, 和新手初学的参考. HTML不同于过去学过的各种面向对象语言, 函数式语言, 它不像其他语言有明确的上下文的逻辑关系. 所以并不像其他语言一样需要有什么特定的基础, 希望这句话能让你远离学习过别的语言的阴影. HTML和CSS以及JavaScript的关系 1. HTML是网页内容的载体.内容就是

初学Html的标签语法

关键字:初学Html的标签语法 晨跑计划: 学习任务: 第1章 Html介绍 1-1 代码初体验,制作我的第一个网页 1-2 Html和CSS的关系 1-3 认识html标签 1-4 标签的语法 1-5 认识html文件基本结构 1-6 认识head标签 1-7 了解HTML的代码注释

初学HTML 常见的标签(三) 列表标签

第三篇博客, 这次说的是插入链接类标签, 我们平常在网页中经常能看到蓝色的链接类标签, 或者是一张图片, 一个电邮, 这些都是插入链接类的标签起的作用. <a></a>链接标签 <a>链接标签可实现超链接, 它在网页中是无处不在的, 只要有链接的地方, 就会有这个标签, 它的语法和其他的标签不太相同, 对于初学者而言, 刚开始学的时候毕竟初学者并不在标签中添加属性等等, <a>的语法是 <a href = "目标网址" title

初学HTML 常见的标签(二) 列表标签

上次介绍了一些简单的文本标签设计, 这篇介绍列表类标签, 通过列表能写出很好看的, 多元化的网络页面. ul-li 列表标签 <ul> <li>列表1</li> <li>列表2</li> </ul> ul-li在网页中显示的默认样式一般为:每项li前都带一个圆点, 所以ul-li是没有序号的信息列表, 不存在前面的1, 2, 3等等的序号为其排序. ol-li 列表标签 <ol> <li>有序列表1</l

STM32初学Keil4编译时出现 Error:Failed to execute &#39;BIN40/Armcc&#39;

一种是在系统开始--运行里输入cmd,查看armcc状态.详情见推文: http://blog.csdn.net/hicui/article/details/7350805(笔记记录,请勿见怪) 都没有问题的话,那么可以尝试: 在keil里的菜单栏依次选择Project->Manage->Components,Environment andBooks(CEB)(或者直接点击工具栏的图标), 然后在CEB里选择Folders/Extensions标签页,在RealView Folder里选择ke

初学ArcGIS API for JavaScript

初学ArcGIS API for JavaScript 对于初学者来说,关于esri提供的一些样式和dojo自带的一些样式还是需要有一定的了解,这块在<WebGIS开发从基础到实践>讲解的特别详细,在这里以笔记的形式来帮助自己加以理解和记忆. esri.css样式主要用于ESRI提供的小部件与组件,比如地图.信息框等.此外,还可以引用Dojo提供的样式表,Dojo提供了4组样式,分别是claro\tundra\soria以及nihilo,每种是一组定义用户界面的字体.颜色与大小等设置.在Arc

【Python】初学编程适合学Python?其有何用?

初学编程适合学Python?其有何用? 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多因素造成了,当然市场需求的重要因素.吴军博士对大数据流行的解释与python流行或许有些默契.数据一直以来都存在,只是在历史条件下,由于计算性能和技术发展的原因,与之匹配的数据处理技术还不是很先进,以至于很多数据被我们舍弃了.同样,python语言简洁流畅等多种优点,也会让第一次接触

初学HTML

今天在MOOC上学了HTML基础中的基础 有了点表面的认识 很喜欢MOOC这样的教学方式 赞一个 下面是一些自己的笔记和感想: 准备考研 现在感觉时间还算充裕 想学点web前端开发基础 下面是需要掌握的基础技术: 1. HTML是网页内容的载体.内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字.图片.视频等. 2. CSS样式是表现.就像网页的外衣.比如,标题字体.颜色变化,或为标题加入背景图片.边框等.所有这些用来改变内容外观的东西称之为表现. 3. JavaScript是用来实

【ANDROID 初学】控件--IMAGEVIEW的使用方法

Start Android 1.图片视图(ImageView)的基本概念 2.<InameView/>与ImageView 3.神奇的ScaleType属性 当图片大小与ImageView大小不匹配的时候,可以通过该属性来调整图片与ImageView控件的位置关系. android:scaleType:  android:scaleType是控制图片如何resized/moved来匹对ImageView的size. ImageView.ScaleType / android:scaleType