Jsp文件运行出来没有数据是为什么啊

img



<%@page import="vo.Queshu"%>
<%@page import="java.util.ArrayList"%>
<%@page import="pa.ProblemADAO"%>
<%@page import="vo.Queshu"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>JSP Page</title>
        <link rel="stylesheet" href="<%=request.getContextPath()%>/res/css/bootstrap.min.css" type="text/css" media="screen" />

       
    </head>
    <body>


        
        <h1>按原有顺序显示数据</h1>
        <table class="table table-striped table-bordered">
            <tr>
                    <th></th>
                <th>编号</th>
                <th>缺书书名</th>
                <th>缺书出版社</th>
                 <th>作者</th>
                <th>出版日期</th>
                <th>书号</th>
                <th>留言</th>
                <th>用户名</th>
                <th>登记时间</th>
                
            </tr>
            <%
            //String thePath=request.getRealPath("/")+"ch08\\theFile";
                ProblemADAO qdao = new ProblemADAO();
                ArrayList<Queshu> list = qdao.list();
                            //多条记录用while循环
                for (Queshu s : list) {
            %>
                 <tr>
                <td>
                    <%=s.getQuesuid()%>
                </td>
                <td>
                    <%=s.getShu_name()%>
                </td>
                <td>
                    <%=s.getBanshe()%>
                </td>

                <td>
                    <%=s.getZuozhe()%>
                </td>
               <td>
                    <%=s.getChuban_date()%>
                </td>
                <td>
                    <%=s.getISBN()%>
                </td>
                <td>
                    <%=s.getLiuyan()%>
                </td>
                <td>
                    <%=s.getUser()%>
                </td>
                <td>
                    <%=s.getTime()%>
                </td>
            </tr>
            <%
                }
            %>
        </table>
    </body>
</html>


 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pa;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import util.FileUtils;
import vo.Queshu;

/**
 *
 * @author Administrator
 */
public class ProblemADAO {

    public  boolean save( ) {
//        try {
//            
//           FileWriter writer = new FileWriter("d:/ks/20204075001/data/a/data.txt");
//           //FileWriter writer = new FileWriter(file);
//           //文件里的数据6-10条
//           BufferedWriter bufferWriter = new BufferedWriter(writer);

           try {
                        OutputStreamWriter outputStreamWriter= 
                    new OutputStreamWriter(
                            new FileOutputStream("d:/ks/20214075221/data/a/data.txt"),"UTF-8");
            
            BufferedWriter bufferWriter = new BufferedWriter(outputStreamWriter);
                        
            bufferWriter.close();
            outputStreamWriter.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
              System.out.println(e.getMessage());
              return false;
        }
      return true;
    }
    
    /**
     * 显示全部记录
     *
     * @return
     */

    
    public  ArrayList<Queshu> list() {
        ArrayList<Queshu> queshus = new ArrayList<Queshu>();
       List <String> datas=FileUtils.readLines("d:/ks/20214075221/data/a/data.txt");
        for(String data :datas){
       String temp[]=data.replaceAll("\"","").split(",");
       Queshu queshu = new Queshu(Integer.parseInt(temp[0]),temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7],temp[8]);
       queshus.add(queshu);
               }
       return queshus;
    }
  
     
     //编号属性排序,排序 
    public  ArrayList<Queshu> listsort1() {
        ArrayList<Queshu> all = list();   
         Collections.sort(all);
            
        return all;
    }
    
    
  //编号属性排序。比较器用匿名类实现
 public  ArrayList<Queshu> listsort2() {
        ArrayList<Queshu> all = list();
      //排序        
         all.sort(new Comparator<Queshu>(){  
            
             @Override
             public int compare(Queshu o1,Queshu o2){ return (o1.getQuesuid()-o2.getQuesuid()); }
         });   
        return all;
    }
    
  //按书名属性排序,比较器用lamda表达式实现
     public  ArrayList<Queshu> listsort3() {
        ArrayList<Queshu> all = list();
           Collections.sort(all,(o1,o2)->{return o1.getShu_name().compareTo(o2.getShu_name());});      
        //排序        
        
        return all;
    }
 
    public static void main(String[] args) {

}
}

运行的jsp


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <title></title>

            <link rel="stylesheet" href="<%=request.getContextPath()%>/res/css/index.css" type="text/css" media="screen" />


            <script type="text/javascript" src="<%=request.getContextPath()%>/res/js/jquery.min.js"></script>
            <script type="text/javascript" src="<%=request.getContextPath()%>/res/js/tendina.min.js"></script>
            <script type="text/javascript" src="<%=request.getContextPath()%>/res/js/common.js"></script>

    </head>
    <body>
        <!--顶部-->
        <div class="layout_top_header">
            <div style="float: left"><span style="font-size: 16px;line-height: 45px;padding-left: 20px;color: #8d8d8d">管理后台</h1></span></div>
            <div id="ad_setting" class="ad_setting"></div>
        </div>
        <!--顶部结束-->
        <!--菜单-->
        <div class="layout_left_menu">
            <ul id="menu">
                <li class="childUlLi">
                    <a href="#"  target="menuFrame"><i class="glyph-icon icon-home"></i>A题</a>
                    <ul>
                        <li><a href="pa/list.jsp" target="menuFrame">
                                <i class="glyph-icon icon-chevron-right"></i>按原有顺序显示数据</a>
                        </li>
                        <li><a href="pa/listsort1.jsp" target="menuFrame">
                                <i class="glyph-icon icon-chevron-right"></i>按编号属性排序的结果</a>
                        </li>
                        <li><a href="pa/listsort2.jsp" target="menuFrame">
                                <i class="glyph-icon icon-chevron-right"></i>按编号属性排序比较器用匿名类实现</a>
                        </li>
                        <li><a href="pa/listsort3.jsp" target="menuFrame">
                                <i class="glyph-icon icon-chevron-right"></i>按书名属性排序比较器用lambda表达式实现</a>
                        </li>
                        <li><a href="pa/save.jsp" target="menuFrame">
                                <i class="glyph-icon icon-chevron-right"></i>保存数据</a>
                        </li>
                    </ul>
                </li>
      </ul>
        </div>
        <!--菜单-->
        <div id="layout_right_content" class="layout_right_content">

            <div class="route_bg">
                <a href="#">主页</a><i class="glyph-icon icon-chevron-right"></i>
                <a href="#">管理</a>
            </div>
            <div class="mian_content">
                <div id="page_content">
                    <iframe id="menuFrame" name="menuFrame" src="welcome.jsp" style="overflow:visible;"
                            scrolling="yes" frameborder="no" width="100%" height="100%"></iframe>
                </div>
            </div>
        </div>
        <div class="layout_footer">
            <p>Copyright ©数据科学与大数据21</p>
        </div>
    </body>
</html>
package vo;
public class Queshu implements Comparable{
    private int quesuid ;//编号
    private String shu_name;//缺书书名
    private String banshe;//缺书出版社
    private String zuozhe;//作者
    private String chuban_date;//出版日期
    private String ISBN;//书号
    private String liuyan;//留言
    private String user;//用户名
    private String time;//登记时间

    public Queshu() {
    }

    public Queshu(int quesuid, String shu_name, String banshe, String zuozhe, String chuban_date, String ISBN, String liuyan, String user, String time) {
        this.quesuid = quesuid;
        this.shu_name = shu_name;
        this.banshe = banshe;
        this.zuozhe = zuozhe;
        this.chuban_date = chuban_date;
        this.ISBN = ISBN;
        this.liuyan = liuyan;
        this.user = user;
        this.time = time;
    }

    public int getQuesuid() {
        return quesuid;
    }

    public void setQuesuid(int quesuid) {
        this.quesuid = quesuid;
    }

    public String getShu_name() {
        return shu_name;
    }

    public void setShu_name(String shu_name) {
        this.shu_name = shu_name;
    }

    public String getBanshe() {
        return banshe;
    }

    public void setBanshe(String banshe) {
        this.banshe = banshe;
    }

    public String getZuozhe() {
        return zuozhe;
    }

    public void setZuozhe(String zuozhe) {
        this.zuozhe = zuozhe;
    }

    public String getChuban_date() {
        return chuban_date;
    }

    public void setChuban_date(String chuban_date) {
        this.chuban_date = chuban_date;
    }

    public String getISBN() {
        return ISBN;
    }

    public void setISBN(String ISBN) {
        this.ISBN = ISBN;
    }

    public String getLiuyan() {
        return liuyan;
    }

    public void setLiuyan(String liuyan) {
        this.liuyan = liuyan;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    @Override
    public String toString() {
        return "Queshu{" + "quesuid=" + quesuid + ", shu_name=" + shu_name + ", banshe=" + banshe + ", zuozhe=" + zuozhe + ", chuban_date=" + chuban_date + ", ISBN=" + ISBN + ", liuyan=" + liuyan + ", user=" + user + ", time=" + time + '}';
    }
 
  @Override 
public int compareTo(Object o) {
    Queshu other = (Queshu) o;
    return Integer.compare(this.quesuid, other.getQuesuid());
}

}

文件里的内容:

img


文件连接:


package util;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class FileUtils {
    
    public static List<String> readLines(String fileName){
        List<String> arr1 = new ArrayList<>();
        BufferedReader br = null;
        try {
        InputStreamReader isr=new InputStreamReader(new FileInputStream(fileName),"utf-8");
            
        br = new BufferedReader(isr);
            String contentLine;
            while ((contentLine = br.readLine()) != null) {
                if (contentLine.equals("")||contentLine.matches("[\\s]+")) {
                    continue;
                }
            }

            br.close();
        } catch (IOException e) {

        }
        return arr1;
    }

}

FilrUtils.readLines()方法并没有把读取到的文件内容解析放到要返回的List中,相当于于返回一个没有任何元素的List对象, 在while循环中加上arr1.add(contentLine);