为什么提出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. Flume_初识

    企业架构 数据源 webserver RDBMS 数据的采集 shell.flume.sqoop job 监控和调度 hue.oozie 数据清洗及分析 mapreduce.hive 数据保存 sqo ...

  2. latex 异或

    用\lxor \(\lxor\) 用\veebar \(\veebar\) 用\oplus \(\oplus\) ... 怎么不是我想象的那样... 算了.

  3. InstallShield 下载安装

    好久没有写项目了,昨晚加班给一位淘客写了一个Winform小程序, 今早发布,然后发现微软将软件发布的这块内容交给了一个第三方插件 InstallShield, 不知道微软是何用意,我们还是看看如何安 ...

  4. 私人定制javascript中数组小知识点(Only For Me)

    先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好, ...

  5. 0_Simple__matrixMulCUBLAS

    使用CUDA的线性代数库cuBLAS来计算矩阵乘法.这里主要记录调用规则,关于乘法函数中详细的参数说明和调用规则见另一篇随笔. ▶ 源代码: #include <assert.h> #in ...

  6. [Ext.Net] 1.x GridPanel列数过多给Menu菜单加滚动条

    转自:http://www.ext.net.cn/thread-1944-1-2.html 当GirdPanel列数过多,查看列的显示隐藏时会出现下面下面情况,有部分超出了界面被遮罩住了   要解决这 ...

  7. 对css盒模型的理解

    介绍一下标准css的盒子模型?低版本IE的盒子模型有什么不同的? 1.有两种:IE盒子模型(怪异模式).W3c盒子模型(标准模式). 2.盒模型组成:内容(content).内边距(padding). ...

  8. PowerPoint 中插入 Latex 公式

    做 PPT 用 Latex Beamer 毕竟还是太麻烦,Beamer 毕竟还是更适合学术性的,各种定义各种公式的那种,遇到要画各种图,插入各种图片,进行错综复杂的排版就比较棘手了. 最终还是 Pow ...

  9. Linux下vsftpd的安装,Java上传文件实现。

    首先我们需要查看是否已经安装vsftpd,输入命令 :vsftpd  -v.如果出现以下信息,那么就说明已经安装vsftpd 如果没有安装,那么输入命令   : yum  install vsftpd ...

  10. Web API 跨域问题

    解决办法: 1.web.config <system.webServer> <handlers> <remove name="ExtensionlessUrlH ...