• EL和JSTL(1)


    ##首先看一张图:比较一下EL、JSTL和JSP的对应关系

    QQ截图20190226122512

    案例:

    流程图

        QQ截图20190226122512

    EL表达式的作用:

    - 访问Bean的属性

    - 支持运算

    - 获取请求参数值

    package entity;
    
    import java.io.Serializable;
    
    public class Course implements Serializable {
        //对象的属性
        private Integer courseId;
        private String name;
        private Integer days;
        
        public Integer getId() {
            return courseId;
        }
        public void setId(Integer courseId) {
            this.courseId = courseId;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getDays() {
            return days;
        }
        public void setDays(Integer days) {
            this.days = days;
        }
    }
    package entity;
    
    import java.io.Serializable;
    
    public class Student implements Serializable {
        private String name;
        private Integer age;
        private String sex;
        private String[] interests;
        private Course course;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String[] getInterests() {
            return interests;
        }
        public void setInterests(String[] interests) {
            this.interests = interests;
        }
        public Course getCourse() {
            return course;
        }
        public void setCourse(Course course) {
            this.course = course;
        }
    }
    <%@ page pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>EL/JSTL</title>
    </head>
    <body>
        <h1>EL</h1>
        <!-- 1.获取Bean属性 -->
        <!-- request.getAttribute("messages").getName() -->
        <p>姓名:${messages.name}</p>
        <!-- request.getAttribute("messages").getAge() -->
        <p>年龄:${messages["age"]}</p>
        <!-- request.getAttribute("messages").getCourse().getId() -->
        <p>课程:${messages.course.id}</p>
        <!-- EL的取值范围: -->
        <!-- 1).EL默认从如下4个对象中依次取值
                page,request,session,applicate
             2).也可以指定取值范围
                requestScope.messages.name
                sessionScope.messages.name -->
        <p>性别:${sessionScope.messages.sex }${requestScope.messages.sex }</p>
        <!-- 2.支持运算 -->
        <p>年龄+5:${messages.age+5 }</p>
        <p>年20-30间:${messages.age>20 && messages.age<30 }</p>
        <p>判空:${empty messages }</p>
        <!-- 3.获取请求参数 -->
        <p>参数:${param.user }</p>
    </body>
    </html>
    package web;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import entity.Course;
    import entity.Student;
    
    public class FindStudentServlet extends HttpServlet {
    
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
            //1.获取参数
            //2.处理业务
            Student stu = new Student();
            stu.setName("张三");
            stu.setAge(18);
            stu.setSex("男");
            stu.setInterests(new String[] {"琴","棋","书","画"});
            Course c =  new Course();
            c.setId(1);
            c.setName("java");
            c.setDays(80);
            stu.setCourse(c);
            System.out.println("dd");
            //3.转发或重定向
            req.setAttribute("messages", stu);
            req.getRequestDispatcher("find_student.jsp").forward(req, res);
        }
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <display-name>jsp3</display-name>  
      <servlet>
          <servlet-name>findStudent</servlet-name>
          <servlet-class>web.FindStudentServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>findStudent</servlet-name>
          <url-pattern>/findStudent</url-pattern>
      </servlet-mapping>
    </web-app>
  • 相关阅读:
    【Nginx】跨域配置
    【Python】【Chart】图标绘制/地图生成
    【Python】操作压缩文件
    【VSCode】koroFileHeader插件自动添加文件及函数注释
    【性能】web页面性能之lighthouse使用
    【VSCode】格式化后换行
    【Python】MD5
    【IDEA】自定义/自动生成/注释/新增文件自动生成注释/自动生成方法注释
    【Java】文件下载/下载Excel/下载文件到本地
    【杂项】英语学习
  • 原文地址:https://www.cnblogs.com/menbozg/p/10436549.html
Copyright © 2020-2023  润新知