zoukankan      html  css  js  c++  java
  • jstl-初步认知

    JSTL是java提供的JSP标签库
    
    1,在项目中加入 jsf-api.jar jsf-impl.jar jstl-1.2.jar 三个包
    
    2, 如何在jsp页面引入标签库
    
    使用 <@taglib>标签,prefix=""uri=""属性值怎么找呢?
    
    用jstl举例说明
    打开jstl-1.2.jar包,在META-INF中找 tld文件
    这里选择 c.tld
    <short-name>c</short-name>
    <uri>http://java.sun.com/jsp/jstl/core</uri>
    这两个标签分别对应prefix和uri

    2,第一个简单的JSP页面

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <!-- 以后不要出现下面这种形式的代码 -->
        <% request.setAttribute("username","zhangsan"); %>
        <!-- 可以有下面这种形式 -->
        <%=request.getContextPath() %><br/>
        <%-- ${XXX}是EL表达式--%>
        ${username}<br/> <!-- getAttribute()的值,依次找 pageContetx,request,session,application,找不到也不报错 -->
        ${param.username } <br/><!-- 输出页面传递过来的参数值 -->
        <!-- JSTL标签形式的一种输出,用的很少 -->
        <c:out value="${username}" ></c:out>
    </body>
    </html>

    页面访问:

    http://localhost:8080/Jstl01/01.jsp?username=awei

    显示结果是:

    /Jstl01
    zhangsan
    awei 

    较为深入的探讨JSTL常用的标签

    User对象有两个属性  name  age
          /**  
    * servlet中的代码片段
    * 当我们将jsp页面放到WEB-INF下面时,用户就不能直接访问,这是给我们程序内部跳转用的
    */
    request.setAttribute("user",new User("zhangsan",12)); List<User> users=new ArrayList<User>(); users.add(new User("lisi",34)); users.add(new User("wangwu",14)); users.add(new User("zhaoliu",24)); request.setAttribute("users",users); request.getRequestDispatcher("/WEB-INF/01/hello.jsp").forward(request,response);

    jsp页面中JSTL用法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
        ${user.name }----${user.age}
        <c:if test="${empty user }"> user is not exists</c:if>
        <c:if test="${not empty user }"> user is exists</c:if>
        <!-- 建议使用实体符号作判断,不要使用>=<这样的形式 -->
        <c:if test="${user.age ge 18 }"> 成年了</c:if>
        <!-- jstl与mybatis相似,没有else,用choose when替代 -->
        <c:choose>
            <c:when test="${user.age lt 18 }"> 未成年</c:when>
            <c:when test="${user.age eq 18 }"> 刚成年</c:when>
            <c:otherwise>已成年</c:otherwise>
        </c:choose>
        
        <!-- 迭代forEach, items集合,var当前迭代的对象,varStatus是一个对象,它有一个非常常用的属性index -->
        <c:forEach items="users" var="user" varStatus="s">
            ${user.name}----${user.age }----${s.index }
        </c:forEach>
    </body>
    </html>
    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    zTree根据json选中节点,并且设置其他节点不可选
    点击一次按钮,发生多次ajax请求
    sublimeText3 中配置sass环境,并将编译后文件保存到指定文件夹
    MD5加密
    c# Http请求之HttpClient
    xml与object 之间的ORM
    wpf和winform的那点区别
    c# http请求ajax页面
    c# https请求
    python爬虫框架Pyspider初次接触
  • 原文地址:https://www.cnblogs.com/xin1006/p/3335582.html
Copyright © 2011-2022 走看看