你的位置:首页 > Java教程

[Java教程]JSTL标签出错:c:forEach var=book items=${requestScope.books} varStatus=status


今天在运行书里的JSTL标签代码的时候出错,总结一下:

问题1.The JSP specification requires that an attribute name is preceded by whitespace 

解决:<c:forEach var="book" items="${requestScope.books}"varStatus="status">出错

改为:<c:forEach var="book" items="${requestScope.books}" varStatus="status">

原因:varStatus="status"前加空格

------------------------------------------------------------------ 

问题2.Property 'isbn' not found on type java.lang.String

解决:<c:forEach var="book" items=" ${requestScope.books}" varStatus="status">出错

改为:<c:forEach var="book" items="${requestScope.books}" varStatus="status">

原因:${requestScope.books}前去掉空格

------------------------------------------------------------------ 

问题3.程序能运行了,jsp能访问,但是EL表达式读取不到想要的信息   

解决:没有在.无法调用servlet向jsp传对象。

在.

<servlet>  <servlet-name>BooksServlet</servlet-name>  <servlet-class>com.controller.BooksServlet</servlet-class></servlet><servlet-mapping>  <servlet-name>BooksServlet</servlet-name>  <url-pattern>/BooksServlet</url-pattern></servlet-mapping>

------------------------------------------------------------------ 

jstl标签练习代码:

1.BooksServlet.java

 1 package com.controller; 2 import java.io.IOException; 3 import javax.servlet.RequestDispatcher; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import java.util.List;10 import java.util.ArrayList;11 import com.model.Book;12 //@WebServlet("/BooksServlet")13 public class BooksServlet extends HttpServlet {14   @Override15   public void doGet(HttpServletRequest request, HttpServletResponse response) 16   throws ServletException, IOException {17    List<Book> books = new ArrayList<Book>();18    Book book1 = new Book("978-7-302-23059-5","Java语言程序设计",45.00);19    Book book2 = new Book("978-7-302-21540-0","Java Web编程技术",39.00);20    Book book3 = new Book("978-7-302-24130-0","C #入门经典",99.80);21     books.add(book1);22     books.add(book2);23     books.add(book3);24    request.setAttribute("books", books);25    RequestDispatcher rd = request.getRequestDispatcher("/books.jsp");26     rd.forward(request, response);27    }28 }

2.Book.java(javaBean类)

 1 package com.model; 2  3 public class Book { 4  private String isbn; 5  private String title; 6  private double price; 7  public Book(String isbn, String title, double price) { 8   super(); 9   this.isbn = isbn;10   this.title = title;11   this.price = price;12   }13   public String getIsbn() {14     return isbn;15   }16   public void setIsbn(String isbn) {17     this.isbn = isbn;18   }19   public String getTitle() {20     return title;21   }22   public void setTitle(String title) {23     this.title = title;24   }25   public double getPrice() {26     return price;27   }28   public void setPrice(double price) {29     this.price = price;30   }31     32  33 }

3.books.jsp

 1 package com.model; 2  3 public class Book { 4  private String isbn; 5  private String title; 6  private double price; 7  public Book(String isbn, String title, double price) { 8   super(); 9   this.isbn = isbn;10   this.title = title;11   this.price = price;12   }13   public String getIsbn() {14     return isbn;15   }16   public void setIsbn(String isbn) {17     this.isbn = isbn;18   }19   public String getTitle() {20     return title;21   }22   public void setTitle(String title) {23     this.title = title;24   }25   public double getPrice() {26     return price;27   }28   public void setPrice(double price) {29     this.price = price;30   }31     32  33 }

4.配置文件.xm

 1 <? 2 <web-app  3  <display-name>Ex_JSTL_tag</display-name> 4  <servlet> 5   <servlet-name>BooksServlet</servlet-name> 6   <servlet-class>com.controller.BooksServlet</servlet-class> 7  </servlet> 8  <servlet-mapping> 9   <servlet-name>BooksServlet</servlet-name>10   <url-pattern>/BooksServlet</url-pattern>11  </servlet-mapping>12  <welcome-file-list>13   <welcome-file>index.html</welcome-file>14   <welcome-file>index.htm</welcome-file>15   <welcome-file>books.jsp</welcome-file>16   <welcome-file>default.htm</welcome-file>17   <welcome-file>default.jsp</welcome-file>18  </welcome-file-list>19 </web-app>

5.运行时注意加入   http://localhost/Ex_JSTL_tag/BooksServlet

只有在url中加入/BooksServlet才能调用到servlet想jsp传参数

截图:

 

 

原创不易,转载请声明原文地址。