servlet和jsp学习指南EL表达式
Posted 幽人月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法获得的
以上是关于servlet和jsp学习指南EL表达式的主要内容,如果未能解决你的问题,请参考以下文章