显示的时候转化一下就可以了
   s=s.replaceAll(" ","&nbsp");
   s=s.replaceAll("\n","<br>");

解决方案 »

  1.   

    第一个问题:表中可以有两个字段,比如,FILE_ID,FILE_PARENT_ID,最上一级的FILE_PARENT_ID可以为root,然后每加一条纪录,就把FILE_PARENT_ID设为他父节点的ID,如果某条纪录的ID在所有的纪录的FILE_PARENT_ID中都没有,那就说明他是最终节点。
    第二个问题:还不清楚。
      

  2.   

    textarea里面的换行是\r\n
    html显示换行用<br>
    所以你从db中取出内容显示在页面上时它就会没有了回换行的格式了.但是你要把db中的内容再显示在textarea中的时候格式和你输入时的一样。所以你在显示的时候要根据情况把\r\n换成<br>或把<br>换成\r\n下面的仅供参考:
     是从数据库取出的数据比如字段名为name:
    String text=new String(request.getParameter("name").getBytes("ISO8859_1"));
    然后做下面的转换处理:
    <%
    int index=text.indexOf("\r\n");
    while(index!=-1)
    {
    text=text.substring(0,index)+"<br/>"+text.substring(index+2);
    index=text.indexOf("\r\n");
    }
    %>
    这样就可以了就是:
    <html>
    <head>
    </head>
    <body>
      <p><%=text%>
    </body>
    </html>*************************************
    如果你想把数据库中的数据放到<textarea>中的话,就应该这样做,如下:
    String text=new String(request.getParameter("name").getBytes("ISO8859_1"));
    <%
    int index=text.indexOf("\r\n");
    while(index!=-1)
    {
    text=text.substring(0,index)+"\n"+text.substring(index+2);
    index=text.indexOf("\r\n");
    }
    %>
      

  3.   

    格式肯定要转换的
    "\r\n"  -》  "<BR>"
    \n"  -》  "<BR>"