JSP ETL 等表达式的简单介绍

JSP介绍

JSP的作用的就是在html写java代码,最终将jsp文件翻译为java文件最后被jvm编译为class文件,文件就在tomcat的work目录下面

JSP常用指令

page import taglib include

taglib 导入包的路径

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

uri 代表的是标签库的路径 导入这个库就是可以使用elt表达式了 prefix代表就是标签库的名称

一些常用的属性标签

这里写图片描述

import 导包

<%@page import="java.util.ArrayList"%>     <!-- 导包是用import指令,如果没有出现提示是因为你的代码中问题-->
<%@page import="java.util.List"%>
include指令 注意关键字是file
<%@ include file="logo.jsp" %>
<%@ include file="menu.jsp" %>

JSP的内置对象

内置对象就是在JSP中直接使用的对象,通过API区进行值的获取,存储 判断等操作

作用域对象以及范围

这里写图片描述

作用域的范围

request 对象 ——————只在一次请求中有效
session 对象 ——————只在一次会话中有效
pageContext对象 ————-只在就相当于是this,只在本页面有效
application对象 —————在整个Web项目中都有效

out对象同response.getWrite.println()区别

out对象在被翻译为Sevrlet,的时候是对应的是JspWrite,而response对应的就是writer对象因此对象的本质不同,其次就是在out对象会将数据输出导response的缓存区中,在由response对象的缓冲区输出到页面。

用法示例
<% application.setAttribute("rui", 999); %>
<%= application.getAttribute("rui") %>>

<%  response.sendRedirect("http://www.baidu.com"); %>
<jsp:forward page="http://www.baidu.com"></jsp:forward>

JSP的动作标签

就是为了简化一下<%%>的语法格式

语法格式
1. 静态引入标签
<%@ include file="footer.jsp" %> 
2.动态引入标签
<jsp:include page="footer.jsp"></jsp:include>
动态静态区别特点,总结
  1. 语法格式不同

  2. 静态引入最总在work目录下只生成一个class文件,动态引入就是引入几个生成几个class文件

  3. 在编译的过程中静态引入将其他标签的代码植入到本jsp中,因此只生成一个

  4. 在编译的过程中动态引入将输出的结果输出浏览器中,编译并不是在同一个java 文件中

ELT表达式介绍

它的存在就是为简化JSP语法格式,增加了另外一种存储获取值的特点

语法格式

第一种获取域对象中的值,eclipse 没有提示,必须手敲

    <% request.setAttribute("rui", "handsome"); %>

    <%= request.getAttribute("rui") %>

    ${ requestScope.rui }

    ${ rui }

获取map集合中的值

<%
    Map<String,String> map = new HashMap<String,String>();
    map.put("aaa", "111");
    map.put("bbb", "222");
    map.put("ccc", "333");
    map.put("ddd.eee", "444");
    pageContext.setAttribute("map", map);

    %>
    ${ map.aaa }   

三元算符判断

    ${empty user ? "0":user.name}

elt对象

介绍

   pageScope
   requestScope
   sessionScope
   applicationScope
   header          :获得请求头
   headerValues        :获得一个key对应多个的请求头
   param           :请求请求参数
   paramValues     :请求请求参数(接收一个名称对应多个值)
   cookie          :获取Cookie的数据
   initParam       :获得全局初始化参数的值
   pageContext     :就是jsp中内置对象pageContext

示例

<h1>操作web开发的常用对象</h1>
<h3>获得请求头</h3>
${ header["User-Agent"] }
<h3>获得请求参数</h3>
${ param.name }
${ param.password }
${ paramValues.hobby[0] }
${ paramValues.hobby[1] }
<h3>pageContext</h3>
${ pageContext.request.remoteAddr }
${ pageContext.request.contextPath }
<h3>获取全局初始化参数</h3>
${ initParam.username }

JSTL的使用

if表达式

  <%
        request.setAttribute("ppp", 10);
    %>

    <c:if test="${ppp > 5 }">

        <h1>"uuuuuu"</h1>
    </c:if>

for循环表达式

<c:forEach var="i" begin="20" end="100" step="9">

${i } +” “    

</c:forEach>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值