JSP 渲染简单示例
来源:互联网 发布:linux 修改部分文件名 编辑:程序博客网 时间:2024/06/07 19:28
本文代码转载自《Servlet、JSP和Spring MVC初学指南》页面渲染基本就是要实现找到写入资源文件的接口javax.servlet.RequestDispatcher其功能为在服务端从客户端接受requests 并将其发送到any resourses(servlet/ HTML file/ JSP file)该对象由servlet容器创建。其有两种方法forward(ServletRequest request, ServletResponse response) include(ServletRequest request, ServletResponse response)前者主要应用于进行后续处理(forward),即最后展示的页面内容为“跳转”(处理)后的,后者主要应用于将后续进行处理的内容包含在前面的servletHttpServletRequest.setAttribute(String, Object)所设置的attribute是不能以客户端方式察觉的(与HttpServletRequest.setParameter相对)而处于对象传递的考虑可以选择前者。下面是一个使用jsp el表达式的渲染简单实例(使用isELIgnored ="false"开启对el表达式的支持),若干隐式对象不述。
package model;/** * Created by admin on 2017/2/16. */public class Address { private String streetName; private String streetNumber; private String city; private String state; private String zipCode; private String country; public String getStreetName(){return streetName;} public void setStreetName(String streetName){this.streetName = streetName;} public String getStreetNumber(){return streetNumber;} public void setStreetNumber(String streetNumber){this.streetNumber = streetNumber;} public String getCity(){return city;} public void setCity(String city) { this.city = city; } public String getState(){return state;} public void setState(String state){this.state = state;} public String getZipCode(){return zipCode;} public void setZipCode(String zipCode){this.zipCode = zipCode;} public String getCountry(){return country;} public void setCountry(String country){this.country = country;}}
package model;/** * Created by admin on 2017/2/16. */public class Employee { private int id; private String name; private Address address; public int getId(){return id;} public void setId(int id){this.id = id;} public String getName(){return name;} public void setName(String name){this.name = name;} public Address getAddress(){return address;} public void setAddress(Address address){this.address = address;}}package servlet;import java.io.IOException;import java.util.HashMap;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 model.Address;import model.Employee;/** * Created by admin on 2017/2/16. */@WebServlet(urlPatterns = {"/employee"})public class EmployeeServlet extends HttpServlet { private static final int serialVersionUID = -5392874; @Override public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{ Address address = new Address(); address.setStreetName("Rue D'Anjou"); address.setStreetNumber("5090B"); address.setCity("Brossard"); address.setState("Quebec"); address.setZipCode("A1A B2B"); address.setCountry("Canada"); Employee employee = new Employee(); employee.setId(1099); employee.setAddress(address); employee.setName("Charles Unijeye"); request.setAttribute("employee", employee); HashMap capitals = new HashMap(); capitals.put("China", "Beijing"); capitals.put("Austria", "Vienna"); capitals.put("Australia", "Canberra"); capitals.put("Canada", "Ottawa"); request.setAttribute("capitals", capitals); RequestDispatcher rd = request.getRequestDispatcher("/employee.jsp"); rd.forward(request, response); }}<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored ="false" %><html><head> <title>Employee</title></head><body> accept-langage: ${header['accept-language']} <br/>session id: ${pageContext.session.id}<br/>employee: ${requestScope.employee.name}, ${employee.address.city}<br/>capital: ${capitals["Canada"]}</body></html>上面是POJO情形下的JSP渲染示例,对于一般容器的JSP迭代渲染可以通过结合JSP标准标签库的若干迭代标签实现,下面是对于List Map给出的简单示例,Servlet类的实现与上例相同。
package model;/** * Created by admin on 2017/2/16. */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 servlet;/** * Created by admin on 2017/2/16. */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;import model.Book;@WebServlet( urlPatterns = {"/books"})public class BooksServlet extends HttpServlet { private static final int serialVersionUID = -234237; @Override public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException{ List<Book> books = new ArrayList<>(); Book book1 = new Book("978-0980839616", "Java 7: A Biginner's Tutorial", 45.00); Book book3 = new Book("978-0975212820", "Dimensional Data Warehousing with MySQL: A Tutorial", 39.95); Book book2 = new Book("978-0980331608", "Struts 2 Design and Programming: A Tutorial", 49.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 contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head> <title>Book List</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> <c:forEach items="${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"> <tb>ISBN</tb> <tb>Title</tb> </tr> <c:forEach items="${books}" var = "book" varStatus="status"> <c:if test="${status.count%2 == 0}"> <tr style="background: #eeeeff"> </c:if> <c:if test="${status.count%2!=0}"> <tr style="background: #dedeff"> </c:if> <td>${book.isbn}</td> <td>${book.title}</td> </tr>> </c:forEach> </table> <br/> ISBNs only: <c:forEach items="${books}" var = "book" varStatus="status"> ${book.isbn}<c:if test="${!status.last}">,</c:if> </c:forEach></body></html>package servlet;/** * Created by admin on 2017/2/16. */import java.io.IOException;import java.io.StringReader;import java.util.HashMap;import java.util.Map;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 = {"/bigCities"})public class BigCitiesServlet extends HttpServlet { private static final int serialVersionUID = 112233; @Override public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException{ Map<String, String> capitials = new HashMap<>(); capitials.put("Indonesia", "Jakarta"); capitials.put("Malaysis", "Kuala Lumpur"); capitials.put("Thailand", "Bangkok"); request.setAttribute("capitals", capitials); Map<String, String[]> bigCities = new HashMap<>(); bigCities.put("Australia", new String[]{"Sydney", "Melbourne", "Perth"}); bigCities.put("New Zealand", new String[]{"Auckland", "Christchurch", "Wellington"}); bigCities.put("Indonesia", new String[]{"Jakarta", "Surabaya","Medan"}); request.setAttribute("capitals", capitials); request.setAttribute("bigCities", bigCities); RequestDispatcher rd = request.getRequestDispatcher("/bigCities.jsp"); rd.forward(request, response); }}<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %><%@ taglib uri ="http://java.sun.com/jsp/jstl/core" prefix="c" %><html><head> <title>Big Cities</title> <style> </style></head><body>Capitals<table> <tr style="background: #448755;color: white;font-weight:bold"> <td>Country</td> <td>Capital</td> </tr> <c:forEach items="${capitals}" var = "mapItem"> <tr> <td>${mapItem.key}</td> <td>${mapItem.value}</td> </tr> </c:forEach></table><br/>Big Cities<table> <tr style="background: #448755;color: white;font-weight: bold;"> <td>Country</td> <td>Cities</td> </tr> <c:forEach items="${bigCities}" var = "mapItem"> <tr> <td>${mapItem.key}</td> <td> <c:forEach items="${mapItem.value}" var = "city" varStatus="status"> ${city}<c:if test="${status.last}">,</c:if> </c:forEach> </td> </tr> </c:forEach></table></body></html>
关于使用JSP进行简单页面渲染的例子亦可见
Webcollector + Spring + MVC 搭建应用初探(六)(Lenskit 推荐系统实例)
中最后推荐系统页面的简单示例
0 0
- JSP 渲染简单示例
- JSP+Servlet的简单示例
- 最简单的JSP自定义标签示例
- 最简单的JSP TAG示例
- jsp 自定义标签 一 简单示例
- JSP+Servlet+mysql简单示例【图文教程】
- _渲染图像示例
- Jsp页面渲染
- 2-在JSP中引用jasperreport的简单示例
- JSP 调用 JAVA 方法修改数据库【简单示例】
- JSP tld文件配置 自定义标签简单示例
- JSP tag文件配置 自定义标签简单示例
- OpenGl中使用着色器的基本步骤及GLSL渲染简单示例
- 渲染,jsp,servlet,html关系
- JSP/Servlet 入门示例
- jsp简介与示例
- JSP分页示例
- JSP连接数据库示例
- express之middleware
- 前端开发者应该知道的 CSS 小技巧
- TPS和QPS的区别
- STM32L1XX系列下载程序遇见的问题
- 软件研发最佳实践
- JSP 渲染简单示例
- ios MD5 加密
- docker的安装
- CRM状态相关表
- Django提交表单报错-CSRF token missing or incorrect.
- 2017Android通用流行框架大全
- Android7.0的SSL自签名证书问题
- 墙上的门-算法设计与分析基础2.2
- js实现上传图片及时预览