• 3.26 将数据库中的表格信息输出到页面上


    在test1项目(或者说是test1模块)的web目录下新建student.jsp文件。

    文件内容如下:

    <%@ page import="com.test1.db.StudentDb" %>
    <%@ page import="java.util.List" %>
    <%@ page import="com.test1.entity.Student" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
    <title>学生信息显示页面</title>
    </head>
    <body>
    <table border="1" cellspacing="0">
    <tr>
    <td>学号</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>性别</td>
    <td>地区</td>
    <td>专业</td>
    <td>班级</td>
    <td>民族</td>
    </tr>

    <%
    StudentDb sdb = new StudentDb();
    String sql = "select * from student";
    List<Student> lst = sdb.getStudent(sql);
    for (Student stu : lst) {
    out.println("<tr><td>" + stu.getSid() + "</td><td>" + stu.getSname() + "</td><td>" + stu.getSage() + "</td><td>" + stu.getSsex() + "</td><td>" + stu.getSnativeplace() + "</td><td>" + stu.getSmajor() + "</td><td>" + stu.getSclass() + "</td><td>" + stu.getSnative() + "</td></tr>");
    }
    %>
    </table>
    </body>
    </html>
    其中:

    <table border="1" cellspacing="0">...</table>用来定义表格的边框和单元格间距。
    通过地址栏访问student.jsp文件,运行效果图如下所示: 


    (火狐浏览器)student.jsp运行效果图
     如果想让表格中的单元格大小都相同,则可以在<head> 部分通过 <style>标签定义内部样式表,设定<td>标签属性,即单元格属性。

    <head>
    <title>学生信息显示页面</title>
    <style>
    td {
    80px;
    height: 25px;
    }
    </style>
    </head>
    表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

    如果对单元格不作任何限制,则在有些浏览器上会出现单元格中文本换行的现象,比如在QQ浏览器上运行,效果如下:


    QQ浏览器上运行效果
    如果对单元格的大小不作要求,只要求单元格中文本在一行显示,即单元格内文本不换行,可以指定<td>标签的white-space属性。

    white-space属性指定元素内的空白怎样处理。

    nowrap表示文本不换行,直到遇到<br>标签为止。

    <head>
    <title>学生信息显示页面</title>
    <style>
    td {
    white-space:nowrap;
    }
    </style>
    </head>
    在QQ浏览器上运行效果如下:


    QQ浏览器上运行效果图
    将表格信息输出到页面上除了使用如上述代码中所写的foreach循环遍历学生对象列表,然后使用println()方法输出学生对象的各个属性值到页面外,还可以用JSP 表达式语言(EL)来访问数据。 (两者效果相同)

    <%
    StudentDb sdb = new StudentDb();
    String sname = request.getParameter("sname");
    String sql = null;
    if (sname == null) {
    sql = "select * from student";
    } else {
    sql = "select * from student where sname like '%" + sname + "%'";
    }
    List<Student> lst = sdb.getStudent(sql);
    request.setAttribute("stuLst", lst);
    %>
    <c:forEach items="${stuLst}" var="stu">
    <tr>
    <td>${stu.sid}</td>
    <td>${stu.sname}</td>
    <td>${stu.sage}</td>
    <td>${stu.ssex}</td>
    <td>${stu.snativeplace}</td>
    <td>${stu.smajor}</td>
    <td>${stu.sclass}</td>
    <td>${stu.snative}</td>
    </tr>
    </c:forEach>

  • 相关阅读:
    将地址转换为链接的正则表达式(regex url href)
    [收藏]中国惠普前总裁孙振耀谈人生
    沪江技术团队寻觅新成员,下一位会是你吗?
    来点圣诞气氛
    让VisualSVN Server支持匿名访问
    11月25日博客园南京园友聚会
    [上海俱乐部活动]博文视点与博客园系列图书作者见面会暨.NET技术交流会
    比尔·盖茨在微软的最后一天
    真让人兴奋
    博客园新服务器已下订单
  • 原文地址:https://www.cnblogs.com/dty602511/p/14913961.html
Copyright © 2020-2023  润新知