今天在运行书里的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表达式读取不到想要的信息   

解决:没有在.xml配置文件添加servlet的<url-pattern>信息,无法调用servlet向jsp传对象。

在.xml文件中添加:

<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

 package com.controller;
import java.io.IOException;
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;
import java.util.List;
import java.util.ArrayList;
import com.model.Book;
//@WebServlet("/BooksServlet")
public class BooksServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<Book> books = new ArrayList<Book>();
Book book1 = new Book("978-7-302-23059-5","Java语言程序设计",45.00);
Book book2 = new Book("978-7-302-21540-0","Java Web编程技术",39.00);
Book book3 = new Book("978-7-302-24130-0","C #入门经典",99.80);
books.add(book1);
books.add(book2);
books.add(book3);
request.setAttribute("books", books);
RequestDispatcher rd = request.getRequestDispatcher("/books.jsp");
rd.forward(request, response);
}
}

2.Book.java(javaBean类)

 package com.model;

 public class Book {
private String isbn;
private String title;
private double price;
public Book(String isbn, String title, double price) {
super();
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;
} }

3.books.jsp

 package com.model;

 public class Book {
private String isbn;
private String title;
private double price;
public Book(String isbn, String title, double price) {
super();
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;
} }

4.配置文件.xm

 <?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" id="WebApp_ID" version="2.5">
<display-name>Ex_JSTL_tag</display-name>
<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>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>books.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

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

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

截图:

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

JSTL标签出错:<c:forEach var="book" items="${requestScope.books}" varStatus="status">的更多相关文章

  1. JSTL标签之c:foreach,c:if标签小结

    <c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的 ...

  2. <c:forEach varStatus="status">中 varStatus的作用

    varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性. varStatus=“status”事实上定义了一个status名的对象作为varStatu ...

  3. 【转】<c:forEach varStatus="status">中 varStatus的属性简介 及应用

    转载原因:在做页面的时候,需要在页面中判断循环了第几次和一共循环了多少次,在网上搜集的时候,看到这篇帖子,觉得太全面了,于是转载了.... varStatus是<c:forEach>jst ...

  4. Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

    一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...

  5. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  6. 2015第37周一struts2 jstl 标签

    1.在jstl中使用struts2  <c:forEach var="ee" items="${requestScope.serviceList}" &g ...

  7. JavaWeb基础—EL表达式与JSTL标签库

    EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...

  8. jstl 标签 的应用

    参考文档:http://www.yiibai.com/jsp/jstl_core_choose_tag.html 1.jstl中foreach序号 <c:forEach items=" ...

  9. jsp页面使用EL表达式 使用Jstl标签库中的标签,需要引入jstl.jar和standard.jar

    spring boot 中使用jstl 首先在pom中加入 <dependency> <groupId>jstl</groupId> <artifactId& ...

随机推荐

  1. Bower In ASP.NET Core

    创建一个ASP.NET Core MVC项目的时候,会产生一个bower.json的文件,用于管理前段的js. NPM & Bower NPM主要运用于Node.js项目的内部依赖包管理,安装 ...

  2. js公有、私有、静态属性和方法的区别

          现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解, ...

  3. MyIsam和InnoDB的区别

    个人见解: 1.最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持 所以有用到事务处理和外键的,要用Innodb 2. InnoDB 中不保存表的具体行数,也就是说,执行s ...

  4. mongodb新手入门,mongodb命令学习

    下面来总结一下mongodb新手入门的常用命令吧.要是您是mongodb新手,可以看下. 1,show dbs 查询mongodb里面的数据库列表 如果想查看当前连接在哪个数据库下面,可以直接输入db ...

  5. POJ 1753 (开关问题+高斯消元法)

    题目链接: http://poj.org/problem?id=1753 题目大意:一堆格子,或白或白.每次可以把一个改变一个格子颜色,其上下左右四个格子颜色也改变.问最后使格子全部白或全部黑,求最小 ...

  6. Codeforces Round #353 (Div. 2) A. Infinite Sequence

    Vasya likes everything infinite. Now he is studying the properties of a sequence s, such that its fi ...

  7. ACM Coin Test

    Coin Test 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 As is known to all,if you throw a coin up and let ...

  8. usaco silver刷水~其实是回顾一下,补题解

    [BZOJ1606][Usaco2008 Dec]Hay For Sale 裸01背包 ;i<=n;i++) for(int j=m;j>=a[i];j--) f[j]=max(f[j], ...

  9. Centos 开放80端口

    一.添加规则 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport ...

  10. 李洪强漫谈iOS开发[C语言-047]-数列求和

    // //  main.c //  53 - 数列求和 - 李洪强 // //  Created by vic fan on 16/10/15. //  Copyright © 2016年 李洪强. ...