为什么提出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. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

  2. 获取元素计算后的css样式封装

    获取元素计算后的css样式封装: function getCss(obj,attribute) { if(obj.currentStyle) { return obj.currentStyle[att ...

  3. WIM镜像添加多语言支持

    起初的想法: intel 600p虽然速度一般,但pcie还是值得一试的.购买后发现原来的win7版本无法识别就找了KB2990941和KB3087873两个补丁,成功识别出了硬盘.期间通过dezor ...

  4. Python 常用函数

    字符串->数字: float(str) int(str) 十六进制字符串转int: 不带0x前缀: x = int('dead',16) 带0x前缀: x = int('0xff', 0) 其中 ...

  5. wep.py输出hello world

    webpy是python的一个简单的web开发的框架.可以通过简单的几行代码启动一个web服务(虽然只是输出helloworld). 准备工作 准备工具如下: 下载python[python开发环境] ...

  6. 对char类型的理解以及对补码的理解分析

    今天遇到这样一个小程序,觉得当中有些问题很容易让人忽略的! 这个程序代码如下: 程序的结果为: 我想很多像我一样的小白可能才开始是想不明白为什么最后的结果是255吧!首先,我们得知道 strlen() ...

  7. 调用WebServiceWebService提示The maximum string content length quota (8192) has been exceeded while reading XML data的解决办法

    在web.config中,bindings节点下,对应的服务名称中,原本可能是自动折叠的“/>”,需要改成手动折叠的</binding>,然后在中间加上<readerQuota ...

  8. android应用程序如何调用支付宝接口(转)

    最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...

  9. nginx的配置,要求根据不同的来路域名,发送到不同的端口去处理

    这一台电脑上既有tomcat 也有 apache,他俩是没有办法同时享用80端口的.我现在让tomcat用8088,apache用8080,然后让nginx用80,这样nginx在收到请求后,根据不同 ...

  10. C# —— IList, ArrayList与List的区别详解

    共同点:    IList, List , ArrayList 通俗一点来讲就是广义的数组,C#里面称之为集合.不同于一般的狭义的数组,它们可以存放任意类型的东西,在申明或者赋值的时候指定. 比如你写 ...