分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

EL技术和JSTL技术

发布时间:2023-09-06 01:54责任编辑:胡小海关键词:暂无标签

2018-05-12  23:16:35

EL技术

EL表达式

  EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。

EL从域中取出数据

  jsp:<%=request.getAttribute(name)%>相当于

  EL:${requestScope.name}

  EL可以从四个域中获取数据:

    EL获得pageContext域中的值:${pageScope.key};

    EL获得request域中的值:${requestScope.key};

    EL获得session域中的值:${sessionScope.key};

    EL获得application域中的值:${applicationScope.key};

    还可以这样的格式:${key}  依次从小到大的四个域中获取key,在某个域中获取后停止寻找

EL内置对象

  pageScope,requestScope,sessionScope,applicationScope  获取JSP中域中的数据

  param,paramValues   接收参数.

    相当于request.getParameter()  request.getParameterValues()

  header,headerValues  获取请求头信息

    相当于request.getHeader(name)

  initParam - 获取全局初始化参数

    相当于this.getServletContext().getInitParameter(name)

  cookie  WEB开发中cookie

    相当于request.getCookies()  cookie.getName()  cookie.getValue()

  pageContext  可以获得jsp的另外八个内置对象

    ${pageContext.request.contextPath}  可以或得web应用名称,在写地址时可用,便于后期维护

EL执行表达式

  ${1+}  可以进行算术运算后输出

  ${empty user}  判断user对象是否为空,空则输出true,不为空则输出false

  ${user==null?true:false}  user为空则输出true,不为空则输出false

JSTL技术

JSTL概括

  JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。

  jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库:Core,I18N,SQL,XML,Functions

  目前常使用核心库Core

JSTL核心库常用标签

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

  <c:if test=””>标签:

    test返回的是boolean条件

  <c:forEach>标签:

    <c:forEach begin="0" end="5" var="o">

      ${i}<br/>

    </c:forEach>

    相当于:for(int i=0;i<=5;i++){
          System.out.println(i);

        }

jstl的遍历

<%@ page language="java" contentType="text/html; charset=UTF-8" ???pageEncoding="UTF-8"%><%@ page import="java.util.*" %><%@ page import="domain.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!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> ???<% ???????//模拟List<String> strList ???????List<String> strList = new ArrayList<String>(); ???????strList.add("a"); ???????strList.add("b"); ???????strList.add("c"); ???????strList.add("d"); ???????request.setAttribute("strList", strList); ???????????????//遍历List<User>的值 ???????List<User> userList = new ArrayList<User>(); ???????User user1 = new User(); ???????user1.setId(1); ???????user1.setName("a"); ???????user1.setPassword("a"); ???????userList.add(user1); ???????User user2 = new User(); ???????user2.setId(2); ???????user2.setName("b"); ???????user2.setPassword("b"); ???????userList.add(user2); ???????application.setAttribute("userList", userList); ???????????????//遍历Map<String,String>的值 ???????Map<String,String> strMap = new HashMap<String,String>(); ???????strMap.put("a", "a"); ???????strMap.put("b", "b"); ???????strMap.put("c", "c"); ???????strMap.put("d", "d"); ???????session.setAttribute("strMap", strMap); ???????????????//遍历Map<String,User>的值 ???????Map<String,User> userMap = new HashMap<String,User>(); ???????userMap.put("a", user1); ???????userMap.put("b", user2); ???????request.setAttribute("userMap", userMap); ???????????%> ???????????<h1>取出strList的数据</h1> ???<c:forEach items="${strList }" var="str"> ???????${str }<br/> ???</c:forEach> ???????<h1>取出userList的数据</h1> ???<c:forEach items="${userList}" var="user"> ???????user的name:${user.name }------user的password:${user.password }<br/> ???</c:forEach> ???????<h1>取出strMap的数据</h1> ???<c:forEach items="${strMap }" var="entry"> ???????${entry.key }====${entry.value }<br/> ???</c:forEach> ???????<h1>取出userMap的数据</h1> ???<c:forEach items="${userMap }" var="entry"> ???????${entry.key }:${entry.value.name}--${entry.value.password }<br/> ???</c:forEach> ???</body></html>

EL技术和JSTL技术

原文地址:https://www.cnblogs.com/xiongdaren/p/9030672.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved