package app05a;

/**
 * 书籍对象
 * @author Administrator
 *
 */
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;
    }
    
    

}

package app05a;

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;

/**
 * 书籍业务控制类(init --> service --> doget --> dopost)
 */
@WebServlet( name = "BooksServlet", urlPatterns = "/books")
public class BooksServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BooksServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * doget做业务处理并重定向
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   //创建对象集合,便于foreach遍历
        List<Book> books = new ArrayList<Book>();
        Book book1 = new Book("978-0980839616",
                "Java 7: A Beginner's Tutorial", 45.00);
        Book book2 = new Book("978-0980331608",
                "Struts 2 Design and Programming: A Tutorial",
                49.95);
        Book book3 = new Book("978-0975212820",
                "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("/BookList.jsp");
        rd.forward(request, response);
    }

}

jsp页面展示:(需要引入两个jar包,可以百度搜索)

<%@ 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>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style>
    table,tr,td{
        border: 1px solid brown;
    }
</style>
</head>
<body>
Books in Simple Table
<table>
    <tr>
        <td>ISBN</td>
        <td>Title</td>
    </tr>
    <!-- for each 遍历 -->
    <c:forEach items = "${ requestScope.books}" var = "book">
    <tr>
        <td>${ book.isbn}</td>
        <td>${book.title}</td>
    </tr>
    </c:forEach>    
</table>
<br/>
Books in Styled Table
<table>
    <tr style="background: #ababff;">
        <td>ISBN</td>
        <td>Title</td>
    </tr>
    <!-- for each遍历 -->
    <c:forEach items = "${ requestScope.books}" var="book" varStatus="status">
        <!-- if 判断换行变色 -->
        <c:if test="${ status.count%2==0}">
            <tr style="background:#eef">
        </c:if>
        <c:if test="${ status.count%2 != 0}">
            <tr style="background:#dedeff">
        </c:if>
        <td>${book.isbn}</td>
        <td>${book.title}</td>
    </tr><!-- 这个tr对应c:if中的tr -->
    </c:forEach>
    
</table>
<br/>
    ISBNs only:
        <c:forEach items = "${ requestScope.books}" var="book" varStatus="status">
            ${book.isbn }<c:if test="${!status.last}">,</c:if> <!-- 不是最后一个要加逗号 -->
        </c:forEach>
</body>
</html>

jstl标签库示例一的更多相关文章

  1. jstl标签库示例二

    package app05b;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax ...

  2. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  3. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  4. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

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

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

  6. jstl标签库基础教程及其使用代码(一)。

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  7. Struts、JSTL标签库的基本使用方法

    一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...

  8. JSTL标签库大全

    JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1.       核心标签库: 为日常任务 ...

  9. javaweb学习总结(二十八)——JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

随机推荐

  1. Python的几个小程序,其实我觉得可以称作初学时的基础算法

    昨天学习的,今天做一下整理,以前学过几天c,感觉什么都没有搞出来,有点泄气,看到Python后试试,从最基本的东西学起,希望不要辜负我的这一点热情. if语句的应用 n=1 while n<5: ...

  2. python PIL模块学习

    PIL PIL:Python Imaging Library.对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础. PIL安装 安装推荐别人的吧, ...

  3. iOS移动端直连数据库

    一个可以直接连接服务器MySQL的工具包(极不安全,如非特殊需求,不推荐使用) 这种直接连接服务器数据的方式是极为不安全的,但因为我们这个项目特殊情况,只在局域网内使用, 且只有一个pad对一台设备进 ...

  4. mac上Pycharm个性化快捷键,类似Myeclipse的快速复制等快捷键

    好几天没写博客了,在win10下写了几天python,然后下了pycharm使用,发现还可以,但是太笨重了,切回了mac,然后装了pycharm社区版本. 但是这个使用太别扭了,没有myeclipse ...

  5. Leetcode 2——Range Sum Query - Mutable(树状数组实现)

    Problem: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), ...

  6. C语言的第0次作业

    你认为大学的学习生活.同学关系.师生关系应该是怎样? 1.我觉得大学生活应该充实而富有意义,不荒废学业,合理分配时间,让自己有一技之长,与时代接轨. 2.同学之间应该顺其自然的相处,不做作,不矫情,真 ...

  7. Beta冲刺Day1

    项目进展 李明皇 今天解决的进度 点击首页list相应条目将信息传到详情页 明天安排 优化信息详情页布局 林翔 今天解决的进度 前后端连接成功 明天安排 开始微信前端+数据库写入 孙敏铭 今天解决的进 ...

  8. caffe实现GAN

    我实现GAN网络结构比较复杂: 通过建立两个一模一样的网络,他们相对应的层共享权重,一个网络用来跟新D model另一个网络用来更新G model 更新G model的网络,D部分只进行梯度传递,不进 ...

  9. TFTP通信原理

    TFTP的通信流程 TFTP共定义了五种类型的包格式,格式的区分由包数据前两个字节的Opcode字段区分,分别是: · l 读文件请求包:Read request,简写为RRQ,对应Opcode字段值 ...

  10. 深度学习之 seq2seq 进行 英文到法文的翻译

    深度学习之 seq2seq 进行 英文到法文的翻译 import os import torch import random source_path = "data/small_vocab_ ...