day035 jstl & el & MVC

1:需要使用el表达式,专门替代  <%= %>

2:使用jstl技术专门替代  <%  这里的循环和判断  %>

1 el

1.1 el表达式概述

EL(Expression Language) 是为了使JSP写起来更加简单。是独立的语言。

在jsp页面可以直接编写el表达式的代码,用于获取jsp4大域中的数据或其他地方的数据。

1.2 el表达式的基本语法

在jsp页面上直接使用

${ 4大域中的属性名 };  

取值之后,会自动将数据值输出到浏览器。

注意:

如果取不到值,则会返回一个空字符串。

1.3 el表达式的内置对象(红色为常用,但是面试建议全背下来)

就是在${在这里可以直接写的对象名就是el的内置对象}

el的内置对象一共有11个,每一个内置对象都有不同的作用:

具体的:

pageScope          

requestScope

sessionScope

applicationScope

上面这4个分别与jsp中的4大域对象相对应

 

param              就是将浏览器传递过来的所有参数,封装成了一个param对象。使用格式:  ${ param.参数名 }

paramValues

Header

headerValues

initParam           获取web.xml中的配置的全局参数

 

cookie             获取浏览器携带过来的cookie   格式: ${ cookie.cookie的名称  }

pageContext         就是jsp中的pageContext,在el表达式中,通常会使用这个对象来获取jsp中的其他8个对象。

例如:  ${ pageContext.request.contextPath }  获取工程的绝对路径!!!(通过内置对象pageContext拿request对象,通过request对象拿getContestPath方法)

1.3.1 内置对象param的使用

目录结构

image.png

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>
    <font color="red" size="7">${msg }</font>
    <form action="${pageContext.request.contextPath }/LoginServlet" method="get">
        用户名:<input type="text" value="${param.username }" name="username">
        <br>
        <input type="submit">
    </form>
</body>
</html>

LoginServlet.java

package com.itheima.demo01_El练习;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 模拟用户登录失败,进行数据回显的效果
 */
public class LoginServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //提示不对  ......
        request.setAttribute("msg","用户名或密码错误");
        request.getRequestDispatcher("/el/login.jsp").forward(request, response);
    }
    protected voi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值