Jsp、EL表达式概述

JSP

  **JSP(全称JavaServer Pages)**是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者
jsp的本质是Servlet
jsp能够写java代码

JSP编写java代码(不推荐使用)

<%@ page import="java.util.Random" %>		//jsp导入包
<% %>		在这里面写的java代码,会生成在service中
<%! %> 		这里面写的java代码会被编译成成员变量
<%= %>		这里面写的是页面输出内容

JSP对象的四个作用域

HttpServletContext  application;   整个项目
HttpSession         session;       一次会话
HttpServletRequest  requst ;        一次请求
HttpPageContext     pageContext;     当前页面

他们的主要核心方法是

setAttribute(键,值);	//设置键值对key-value
getAttribute();		//通过key获取value
removeAttribute();	//通过key移除键值对



EL表达式

基本概述

1.EL(Express Lanuage)表达式可以嵌入在jsp页面内部
2.可以替代jsp页面中输出脚本的编写,减少jsp脚本的编写
3.书写方式:${EL表达式内容}

EL表达式的作用

  • 从域对象中查找指定的数据。
  • 内置对象使用
  • 执行运算符

在jsp中使用EL表达式,需要设置isELIgnored=“false”

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

EL表达式获取值的方法

  el表达式获取值会从最小作用域优先拿取

作用域大小:pageContest < request < session

el表达式获取值得方法

${
     域中的key值}	//通过key获取四个域中的value(优先最小域)
${
     对象.属性}		//获取对象中的属性值  (user.name)
${
     对象.对象.属性}	//获取对象里面对象的属性值 (user.birthday.year)
${
     数组名[0].name}	//通过下标获取数组中的对象,再获取值

案例:

User类

public class User {
     
    private String name;
    private int age;
    private String sex;
    private Birthday birthday;
}

Birthday类

public class Birthday {
     
    private int year;
    private int month;
    private int day;
}

Jsp页面(这里直接在jsp页面写java代码)

导入包

<%@ page import="com.xgf.bean.User" %>
<%@ page import="com.xgf.bean.Birthday" %>

向作用于中添加值:

	<%
		//存入值
		request.setAttribute("value","");
		//存入对象
        User user = new User("striveday01",20,"男",new Birthday(2000,10,23));
        request.setAttribute("user", user);

		ArrayList<User> userList = new ArrayList<User>();
        userList .add(new User("list_User01",22,"男",new Birthday(1998,12,23)));
        userList .add(new User("list_User02",21,"女",new Birthday(1999,12,23)));
        userList .add(new User("list_User03",20,"女",new Birthday(2000,12,23)));
        //存入数组
		request.setAttribute("userList ", userList );
    %>

在jsp中用EL表达式获取值

${
     value}			//直接获取值
${
     user.name}		//获取对象的name属性值
${
     user.birthday.year}	//获取user对象下的birthday对象下的year属性
${
     userList[0].name}		//获取数组对象里面的user的name值

EL表达式的运算符[重点***]

  1. Java运算符
    中 可 以 写 j a v a 运 算 符 , 对 数 据 进 行 结 算 ‘ {}中可以写java运算符,对数据进行结算` java{1+1}`
  2. empty关键字
    • 用于判断对象,字符串是否为空
    • 判断集合中元素个数是为0

    String 类型: 空串和null都为空
    Java Bean对象: null为空
    集合 : 集合中没有数据,则为空

EL表达式-获取项目访问路径[***]

  1. 在Servlet中获得web应用的名称:
request.getContextPath();
  1. 在jsp页面上获得web应用的名称
${
     pageContext.request.contextPath}

你可能感兴趣的:(jsp,servlet,js,web)