zoukankan      html  css  js  c++  java
  • servlet和jsp学习指南(五)EL表达式

    EL表达式的具体用法我暂时先不说了

    这里就简单说说注意点

    package test.com.servlet.jstl;
    
    public class Book {
    
        private String isbn;
        private String title;
        private Double price;
        
        public Book(String isbn,String title,double price) {
            this.isbn = isbn;
            this.title = title;
            this.price = price;
        }
    
        public String getIsbn() {
            return isbn;
        }
    
        public void setIsbn(String isbn) {
            this.isbn = isbn;
        }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public Double getPrice() {
            return price;
        }
    
        public void setPrice(Double price) {
            this.price = price;
        }
        
    }
    package test.com.servlet.jstl;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet(urlPatterns = {"/books"})
    public class BooksServlet extends HttpServlet{
    
        /**
         * 
         */
        private static final long serialVersionUID = -8775932947610791148L;
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            List<Book> books = new ArrayList<Book>();
            Book book1 = new Book("978-213213213", "Java 7:A Beginner's Tutorial", 45.00);
            Book book2 = new Book("978-446767456", "Struts 2 Design and Programming: A Tutorial", 49.95);
            Book book3 = new Book("978-545644452", "Dimensional Data Warehousing with MySQL: A Tutorial", 39.95);
            books.add(book1);
            books.add(book2);
            books.add(book3);
            request.setAttribute("books", books);
            RequestDispatcher rd = request.getRequestDispatcher("/books.jsp");
            rd.forward(request, response);
        }
        
    }
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ 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>Book List</title>
    </head>
    <body>
    Books in Simple Table
    <table>
        <tr>
            <td>ISBN</td>
            <td>Title</td>
        </tr>
        <c:forEach var = "book" items="${books }">
            <tr>
                <td>${book.isbn }</td>
                <td>${book.title }</td>
            </tr>
        </c:forEach>
    </table>
    </body>
    </html>

    访问后页面如下

    ${book.isbn }这个怎么取值的?

    其实是通过Book的getIsbn()

    不信咱们把getTitle()方法注释起来再访问下试试

    结果就成这样了

    javax.el.PropertyNotFoundException: Property 'title' not readable on type test.com.servlet.jstl.Book
        at javax.el.BeanELResolver$BeanProperty.read(BeanELResolver.java:357)
        at javax.el.BeanELResolver$BeanProperty.access$000(BeanELResolver.java:305)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
    ......

    所以简单理解,他是通过实体属性的get方法获得的

  • 相关阅读:
    eclipse springboot运行helloworld错误: 找不到或无法加载主类 xxx.xxx.xxx
    springboot整合quartz并持久化到数据库
    pssh批量管理服务器
    网络拓扑图练习
    网络设备之ospf2
    网络设备之基础配置命令(华为交换机二三层)
    华为交换机配置静态路由
    docker参考文档
    docker系列之镜像服务器
    docker系列之分区挂载和数据卷
  • 原文地址:https://www.cnblogs.com/vincentren/p/5984080.html
Copyright © 2011-2022 走看看