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表达式读取不到想要的信息
解决:没有在.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">的更多相关文章
- JSTL标签之c:foreach,c:if标签小结
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的 ...
- <c:forEach varStatus="status">中 varStatus的作用
varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性. varStatus=“status”事实上定义了一个status名的对象作为varStatu ...
- 【转】<c:forEach varStatus="status">中 varStatus的属性简介 及应用
转载原因:在做页面的时候,需要在页面中判断循环了第几次和一共循环了多少次,在网上搜集的时候,看到这篇帖子,觉得太全面了,于是转载了.... varStatus是<c:forEach>jst ...
- Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库
一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...
- jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...
- 2015第37周一struts2 jstl 标签
1.在jstl中使用struts2 <c:forEach var="ee" items="${requestScope.serviceList}" &g ...
- JavaWeb基础—EL表达式与JSTL标签库
EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...
- jstl 标签 的应用
参考文档:http://www.yiibai.com/jsp/jstl_core_choose_tag.html 1.jstl中foreach序号 <c:forEach items=" ...
- jsp页面使用EL表达式 使用Jstl标签库中的标签,需要引入jstl.jar和standard.jar
spring boot 中使用jstl 首先在pom中加入 <dependency> <groupId>jstl</groupId> <artifactId& ...
随机推荐
- Silverlight
http://kb.cnblogs.com/zt/silverlight/ http://www.cnblogs.com/gnielee/archive/2010/01/15/silverlight- ...
- Unity Standard Assets 简介之 2D
这篇介绍2D资源包. 文件夹比较多,但是很多都是prefab的基础资源,所以我们只介绍 Prefabs 和 Scripts 文件夹. Prefabs文件夹: CharacterRobotBoy: 提供 ...
- 移动前端头部标签(HTML5 head meta)
移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来.本文整理一些常用的meta标签. <!DOCTYPE html&g ...
- hdu1251 统计难题 字典树
Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己 ...
- ACM: FZU 2150 Fire Game - DFS+BFS+枝剪 或者 纯BFS+枝剪
FZU 2150 Fire Game Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- jquery实现隐藏,简化和更多
HTML代码: <div class="box"> <div class="header"> <h3>图书分类</h3 ...
- POJ 1127 Jack Straws(计算几何)
题目链接 抄的模版,居然1Y了.就是简单的线段相交+并查集. #include <iostream> #include <cstring> #include <cstdi ...
- 关于C#引用Dll后,找不到命名空间的问题
在引用里明确添加了一个Dll,能够看到该Dll详细信息,可就是用using找不到命名空间.并且发现刚引用时是有该命名空间,一编译就消失了. 最后发现原因如下: 原目标框架为.Net Framework ...
- Windows Phone Foreground Toast
Basically ToastPrompt is an UI component that derives from the Coding4Fun toolkit's abstract PopUp&l ...
- jquery点击区域显示或隐藏DIV,点击非该DIV的地方隐藏该DIV
<div class="Content_top"> <div class="Reserve"> <h3><span c ...