zoukankan      html  css  js  c++  java
  • JSP标签,JSTL标签,EL表达式

     1 <!--        jstl表达式的依赖-->
     2         <dependency>
     3             <groupId>javax.servlet.jsp.jstl</groupId>
     4             <artifactId>jstl-api</artifactId>
     5             <version>1.2</version>
     6         </dependency>
     7         <!--        standard标签库-->
     8         <dependency>
     9             <groupId>taglibs</groupId>
    10             <artifactId>standard</artifactId>
    11             <version>1.1.2</version>
    12         </dependency>

    EL表达式: ${}

    EL(Expression Language) 是为了使JSP写起来更加简单。,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

    1)获取数据

    2)执行运算

    1 <c:out value="${1+1}"></c:out>

    3)获取web开发的常用对象

    1 用户名:<input type="text" name="username" value="${param.username}"><br>

    JSP标签:

    1 <%--<jsp:include--%>
    2 <jsp:forward page="/jsptag2.jsp">
    3     <jsp:param name="name" value="zhangsan"/>
    4     <jsp:param name="age" value="12"/>
    5 </jsp:forward>

    JSTL表达式:

    JSTL标签库的使用就是为了弥补HTML标签的不足;它自定义了许多标签,可以供我们使用,标签的功能和java代码一样

    1)核心标签(部分掌握)

    要使用核心标签,先得创建引用

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

     JSTL标签库使用步骤 

    1)引入对应的taglib

    2)使用其中的方法

    3)在tomcat中也需要引入jstl的包,否则会报错:jstl解析错误

    测试代码:

    coreif.jsp

     1 <%--要使用jstl标签就要先引入这个--%>
     2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     3 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     4 <html>
     5 <head>
     6     <title>Title</title>
     7 </head>
     8 <body>
     9 <h4>if测试</h4>
    10 
    11 <hr>
    12 
    13 <form action="coreif.jsp" method="get">
    14 <%--
    15    EL表达式获取表单中的数据
    16     ${param.参数名}
    17 --%>
    18 <%--param.username?--%>
    19     用户名:<input type="text" name="username" value="${param.username}"><br>
    20          <input type="submit" value="登录">
    21 </form>
    22 
    23 <%--判断如果提交的用户名是管理员就登录成功--%>
    24 <%--<%
    25     if (request.getParameter("username").equals("admin")) {
    26         out.print("登录成功");
    27     }
    28 %>--%>
    29 <%--用标签库去写 --%>
    30 <%--test 为条件,var为存储结果的变量,这里为true或者false--%>
    31 <c:if test="${param.username == 'admin'}" var="isAdmin">
    32     <c:out value="管理员!欢迎您"></c:out>
    33     
    34 </c:if>
    35 <%--自闭合标签/不要忘记--%>
    36 
    37 <c:out value="${isAdmin}">
    38 
    39 </c:out>
    40 
    41 </body>
    42 </html>

    coreforeach.jsp

     1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     2 <%@ page import="java.util.ArrayList" %>
     3 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     4 <html>
     5 <head>
     6     <title>Title</title>
     7 </head>
     8 <body>
     9 <%
    10     ArrayList<String> people = new ArrayList<>();
    11     // 注意下标只能从0开始,其它的会报500的错
    12     people.add(0,"张三");
    13     people.add(1,"李四");
    14     people.add(2,"王五");
    15     people.add(3,"赵柳");
    16     // 放到request里面,用完就销毁,节省资源
    17     request.setAttribute("list",people);
    18 
    19 %>
    20 <%--
    21 var:每一次遍历出来的变量
    22 items:要遍历的对象
    23 
    24 --%>
    25 <c:forEach var="people" items="${list}">
    26     <c:out value="${people}"/><br>
    27 
    28 </c:forEach>
    29 
    30 <hr>
    31 <%--相当于fori--%>
    32 <c:forEach  var="people" items="${list}" begin="1" end="2" step="1">
    33     <c:out value="${people}"/><br>
    34 </c:forEach>
    35 
    36 </body>
    37 </html>

    输出结果:

  • 相关阅读:
    centos7 安装redis服务及phpredis扩展
    centos7 LANMP 安装
    php reids 单机命令
    浅谈正向代理和反向代理
    php-fpm日志告警"seem busy"
    PHP-redis中文文档
    Nginx配置文件nginx.conf中文详解
    生成带参数的微信二维码
    微信临时二维码时为32位非0整型
    [Linux]Service mysql start出错(mysql: unrecognized service)解决方法
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14656491.html
Copyright © 2011-2022 走看看