Java Web-JSTL

概念

Java Server Pages Tag Library:JSP标准标签库

是由Apache组织提供的开源、免费JSP标签

用于简化和替换JSP页面上的Java代码,用标签代替Java代码,以便于前端的工作。

使用步骤

  1. 导入JSTL相关的jar包
  2. 引入标签库:taglib指令: <%@ taglib %>
  3. 使用标签

常用JSTL标签

  1. if

    <c:if

    1. 属性

      • test:必须属性,接受字符串类型的boolean表达式,如果表达式结果为true,则显示标签体内容。反之则不显示标签体内容

        一般情况下,test属性值会结合EL表达式一起使用:

        <%
        List list=new ArrayList();
        list.add("aaa");
        request.setAttribute("list",list);
        %>
        <c:if test="${not empty list}">
        遍历集合</c:if>

    >标签体内容</c:if>

  2. choose:类似于Java中的switch语句

    举例:

    <%
    request.setAtrrbute("number",51);
    %>
    <c:choose>
    <c:when test="${number==1}">星期一</c:when>
    <c:when test="${number==2}">星期二</c:when>
    <c:when test="${number==3}">星期三</c:when>
    <c:when test="${number==4}">星期四</c:when>
    <c:when test="${number==5}">星期五</c:when>
    <c:when test="${number==6}">星期六</c:when>
    <c:when test="${number==7}">星期日</c:when>
    <c:otherwise>数字输入有误</c:otherwise>
    </c:choose>
  3. foreach:相对于java中的for语句

    举例:

    1. 完成重复操作

      属性:

      1. begin:开始值

      2. end:结束值

        开始值和结束值都包括

      3. var:临时变量

      4. step:步长

      5. varStatus:循环状态对象

        • index:容器中元素的索引,从0开始
        • count:循环次数,从1开始
    <c:forEach begin="1" end="10" var="i" step="2" varStatus="s">
    ${i} ${s.index} ${s.count}<br>
    </c:forEach>

    像上面这个例子,s.index输出的和i一样,都是1,3,5,7,9,。而s.count输出的是1,2,3,4,5

    1. 遍历容器

      属性:

      1. items:容器对象
      2. var:容器中元素的临时变量
      3. varStatus:循环状态对象
        • index:容器中元素的索引,从begin开始
        • count:循环次数,从1开始
      <%
      List list=new ArrayList();
      list.add("aaa");
      list.add("aaa");
      list.add("aaa");
      request.setAttribute("list",list);
      %>
      <c:forEach items="${list}" var="str" varStatus="s">
      ${s.index} ${s.count} ${str}<br>
      </c:forEach>

      最终输出的结果是:

      0 1 aaa

      1 2 aaa

      2 3 aaa

Java Web-JSTL的更多相关文章

  1. [Java.web]JSTL 使用

    <%@ page import="cn.itcast.domain.Person"%> <%@ page language="java" im ...

  2. java Web JSTL介绍及基本应用

    由于实际开发中我们一般不能在jsp页面上写java代码,而el表达式也做不了判断 循环之类的复杂操作,为了弥补这些缺点,所以就有了JSTL. 简介 JavaServer Pages Standard ...

  3. Java Web JSTL实现登陆页面重定向 jstl标签

    <form action="js/loginResult.jsp" class="loginForm" id="loginForm" ...

  4. 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例

    EL应用      自定义一个标签,实现两个字符串的相加 1回顾      1.1servlet生命周期           init(ServletConfig)           service ...

  5. java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇

    一. 针对很多java web初学者入门困难的问题,笔者利用一个小型web项目,一步一步的展示java web开发方法,每一个章节引入一些java web开发的重点知识,让同学们可以将java web ...

  6. Java Web之JSTL标准标签库总结

    [文档整理系列] Java Web之JSTL标准标签库总结

  7. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  8. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  9. java web 之客户关系管理系统

    这个周末真的是觉得自己学会了一个比较高大上的本领,为什么这么觉得呢?那是因为星期六的时候觉得自己可以看看源码能做出来,可是让我头疼的是花费了一上午的时间还是没有弄出来,还好上天给了我机会,要是没有老师 ...

  10. java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

随机推荐

  1. node express返回json数据给前端

    请注意,使用res.json()的格式 1.前面不能添加  res.writeHead(200, {'content-type': 'text/plain;charset=utf-8'}); axio ...

  2. vue 实现返回上一页不请求数据keep-alive

    常规操作: 我们通常会将通过接口请求数据的方法放在==created== 或者 ==mounted==这两个生命周期中的一个里面调用. 但是我们知道,不管是我们刚进入这个页面还是从其他页面返回这个页面 ...

  3. struts2之Action与JSP相互数据传递

    package com.loaderman.crm.action; import com.loaderman.crm.entity.User; import com.loaderman.crm.ser ...

  4. RT-Thread代码启动过程——以及 $Sub$ $main 与 $Super$ $main

    [转]https://blog.csdn.net/yang1111111112/article/details/80913001 我们找到系统复位的地方,可以往下单步跟踪. ①从系统初始化开始执行,将 ...

  5. 解析python 命令的-u参数

    在shell脚本中运行python 命令时后面加了-u 参数(python -u xx.py),这个-u表示什么? import sys sys.stdout.write("stdout1& ...

  6. 123457123457#0#-----com.cym.YuErBaiKe02--前拼后广--育儿百科

    com.cym.YuErBaiKe02--前拼后广--育儿百科

  7. springboot配置虚拟路径访问用户上传的附件及图片资源

    在springmvc项目中,我们通常把图片及附件存放到WEB-INF/upload类似的路径. springboot项目是通过jar包方式运行的. 笔者曾尝试以下代码,把图片转成base64格式的图片 ...

  8. ubuntu 18.04下greenplum安装笔记(二)安装Greenplum的失败的尝试

    之前对Linux环境进行了搭建,现在开始进行Greenplum的正式安装. 下载 进Greenplum的官网:https://greenplum.org/download/ 可以发现,对于ubuntu ...

  9. 【Leetcode_easy】690. Employee Importance

    problem 690. Employee Importance 题意:所有下属和自己的重要度之和,所有下属包括下属的下属即直接下属和间接下属. solution:DFS; /* // Employe ...

  10. Maven下载依赖包所使用的方法或者说三方包

    wagon-http-3.2.0-shaded.jar 下载主要用的是这个包,mac位于路径/usr/local/Cellar/maven/3.6.0/libexec/lib下 如图,即使修改jar包 ...