为什么提出jstl标签?

Jsp中包含html标签+java片段+jsp片段使得jsp页面比较乱。
提出:能不能把<% %>java片段用标签替换 jsp页面更简洁

<!-- 引入jstl标签库 -->

JSTL-Library—>jstl-impl.jar—>META-INF—>c.tld

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

JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

下面<% %>中间的代码是测试用

c_out

<%
     //out.println("hello,world");
     //如果我们的域对象中有相同的属性名  c:out的优先级是pageContext>request>session>application
     request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
     //session.setAttribute("abc","你好");
    // application.setAttribute("abc","你好");
    // pageContext.setAttribute("abc","你好");

   User u=new User();
   u.setName("小明");
   u.setPassword("123");
   request.setAttribute("user1",u);
    %>

   <c:out value="hello,world"></c:out>
   <h3>如何输出request/session/application/pageContext域对象的数据</h1>
   <!--escapeXml指定是否按照html样式显示,默认【true】表示文本 【false】表示html样式 -->
   <c:out value="${abc}" default="没有值" escapeXml="false"></c:out> <!-- 等同于 request.getAttribute("abc").toString(); -->
   <h3>如何输出一个对象的值</h3>
   <c:out value="${user1.name }"></c:out> <!-- 等同于((User)request.getAttribute("user1")).getName(); -->
  

<c:set>

这个标签用于在某个范围(page,request,session,application等)设置某个值
<c:set var="abc" value="中国,北京" scope="request"></c:set> <!--等价于request.setAttribute("abc","中国,北京")  -->
<c:out value="${abc}"></c:out>

<c:remove>

 <%
      request.setAttribute("a","你好");
     %>
     <h3>输出</h3>
   <c:out value="${a}"></c:out>
   <h3>remove</h3>
   <c:remove var="a" scope="request"  />
   <c:out value="${a}" default="没有值"></c:out>

<c:choose>

 <%
     request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
     User u=new User();
   u.setName("小明");
   u.setAge("123");
   request.setAttribute("user1",u);
    %>

   <c:choose>
   <c:when  test="${user1.age<110 }">
       小于
   </c:when>
   <c:when test="${user1.age>110 }">
              大于
   </c:when>
   <c:otherwise>
       其他
   </c:otherwise>
   </c:choose>

<c:foreach>

 <h3>foreach的取法</h3>
    <!--${all}表示域对象的那个属性(一般是一个集合) var="user"表示具体的对象 -->
    <c:forEach items="${all}" var="user">
     <c:out value="${user.name}"></c:out>
     <c:out value="${user.password}"></c:out>
    </c:forEach>
    <h3>第二种迭代:1 to 10</h3>
     <c:forEach  var="i" begin="1" end="10" >
     <c:out value="${i}"></c:out>--
    </c:forEach>
    <h3>第三种迭代:1 to 10 step=3</h3>
     <c:forEach  var="i" begin="1" end="10" step="3" >
     <c:out value="${i}"></c:out>--
    </c:forEach>

<c:if>

   <%
       request.setAttribute("a","hello");
       request.setAttribute("age", "56");
     %>
     <h1>判断字符串</h1>
    <c:if test="${a=='hello'}">
     ok
    </c:if>
     <c:if test="${a!='hello'}">
     no
    </c:if>
     <h1>判断数值</h1>
     <c:if test="${age==56}">
         等于56
    </c:if>
     <c:if test="${age>40 and age<60}">
         age>40 and age<60
    </c:if>

<c:fortokens>

   <c:forTokens items="12;23;你好;haha" delims=";" var="temp">
    ${temp}
   </c:forTokens>

jstl标签的更多相关文章

  1. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  2. JSTL标签库

    JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...

  3. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  4. 简单实用JSTL标签库

    1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...

  5. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  6. jstl 标签库的使用

    JSTL 核心标签库 使用   JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.ot ...

  7. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  8. JSP的JSTL标签使用

    JSTL标签和asp.net中的webform控件很像,但是功能确比asp.net的强很多. 配置过程,从最简单的项目开始: 1.下载JSTL标签库:http://archive.apache.org ...

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

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

随机推荐

  1. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  2. Eclipse中启用Oracle jdbc logging

    根据自己用的JRE版本, jre1.5选择ojdbc5_g.jar, jre6选择ojdbc6_g.jar, 只有带_g的dirver才输出debug信息. maven 的配置信息: <depe ...

  3. HIT2715 Matrix3(最小费用最大流)

    题目大概说有一个n×n的矩阵,每个格子都有权值和高度,在这个矩阵中进行最多k次旅行,每次旅行能从当前格子走到相邻且高度更小的格子,走到格子边界就能出去完成这次旅行.每走到一个格子就累加格子的权值然后把 ...

  4. 2-sat 输出任意一组可行解&amp;拓扑排序+缩点 poj3683

    Priest John's Busiest Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8170   Accept ...

  5. 什么是SQLCLR与使用

    原帖地址:http://www.cnblogs.com/hsrzyn/archive/2013/05/28/1976555.html 什么是SQLCLR SQL CLR (SQL Common Lan ...

  6. could not open extension control file &quot;/usr/share/postgresql/9.1/extension/plpythonu.control&quot;: No such file or directory

    在使用createlang 安装plpythonu的时候出现如下错误:could not open extension control file "/usr/share/postgresql ...

  7. R语言绘图002-页面布局

    par().layout().split.screen()函数 1. par()函数的参数详解 函数par()可以用来设置或者获取图形参数,par()本身(括号中不写任何参数)返回当前的图形参数设置( ...

  8. Mysql主从数据库架构的复制原理及配置详解

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...

  9. iOS开发——开发必备OC篇&amp;UITableView设置界面完整封装(一)

    UITableView设置界面完整封装(一) 简单MVC实现UITableView设置界面分组数据显示 一:模型 1:cell模型 /** 描述cell图片 */ @property (nonatom ...

  10. 2014.10.09 Andrew 学习 WPF(刘铁锰) 笔记分享

    引言 主要是讲了关于WPF只是表现层的工具. 第一章: XAML : 可扩张应用程序标记语言    Extensible Application Markup Language 什么是XAML?  X ...