• 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 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    小白初学iOS中OTA部署(适应iOS7.1)
    CocoaPods管理本地库简单步骤
    CocoaPods问题记录
    UIPanGestureRecognizer下方法
    2013年度总结(反思篇)
    iOS7中cell的分割线右移的解决方法
    接触CocoaPods遇到的问题
    iOS摄像头问题
    iPhone4激活出错,菜鸟试验!!!!!
    详解UIPickerView
  • 原文地址:https://www.cnblogs.com/xin1006/p/3335582.html
Copyright © 2020-2023  润新知