我想做个JSP一个发布信息的,我想把信息插入到数据库里,然后在别的页面显示出来,但是显示的时候没有了格式,就是没有了换行、空格和缩进,我问别人,他们说在插入的时候也应该把HTML也插入进去,请问我该怎么做呢?或者大家有没有别的更好更简便的方法呢???
谢谢进来的各位们!

解决方案 »

  1.   

    把数据插入数据库,用html模板生成替换。
    将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例。.buildhtml.jsp   
        
      <%@   page   contentType="text/html;   charset=gb2312"   import="java.util.*,java.io.*"%>   
      <%   
      try{   
        String   title="This   is   Title";   
        String   content="This   is   Content   Area";   
        String   editer="LaoMao";   
        String   filePath   =   "";   
        filePath   =   request.getRealPath("/")+"test/template.htm";   
        //out.print(filePath+"<br/>");   
        String   templateContent="";   
        FileInputStream   fileinputstream   =   new   FileInputStream(filePath);//读取模块文件   
        int   lenght   =   fileinputstream.available();   
        byte   bytes[]   =   new   byte[lenght];   
        fileinputstream.read(bytes);   
        fileinputstream.close();   
        templateContent   =   new   String(bytes);   
        //out.print(templateContent);   
        templateContent=templateContent.replaceAll("###title###",title);   
        templateContent=templateContent.replaceAll("###content###",content);   
        templateContent=templateContent.replaceAll("###author###",editer);//替换掉模块中相应的地方   
        //out.print(templateContent);   
        //   根据时间得文件名   
        Calendar   calendar   =   Calendar.getInstance();   
        String   fileame   =   String.valueOf(calendar.getTimeInMillis())   +".html";   
        fileame   =   request.getRealPath("/")+fileame;//生成的html文件保存路径   
        FileOutputStream   fileoutputstream   =   new   FileOutputStream(fileame);//建立文件输出流   
        byte   tag_bytes[]   =   templateContent.getBytes();   
        fileoutputstream.write(tag_bytes);   
        fileoutputstream.close();   
      }   
      catch(Exception   e){   
        out.print(e.toString());   
      }   
        
      %>   
        
      2.   template.htm   
        
      <html>   
      <head>   
      <title>###title###</title>   
      <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
      <LINK   href="../css.css"   rel=stylesheet   type=text/css>   
      </head>   
        
      <body>   
      <table   width="500"   border="0"   align="center"   cellpadding="0"   cellspacing="2">   
          <tr>     
              <td   align="center">###title###</td>   
          </tr>   
          <tr>     
              <td   align="center">author:###author###&nbsp;&nbsp;</td>   
          </tr>   
          <tr>   
              <td>###content###   
        </td>   
          
          </tr>   
        
      </table>   
      </body>   
      </html>
      

  2.   

    对呀,就把HTML脚本插入到数据库里不就可以了吗
      

  3.   

    问题是我想知道怎么样子获取HTML脚本,我是直接把填写的数据插入到数据库,用1楼的方法可以实现吗?
    我先去试试。 
      

  4.   

    buildhtml.jsp 是怎么样子调用,或者使用的呢?
      

  5.   

    上面只是个例子,你不是发布信息的吗,在你点击“发布”后,调用buildhtml.jsp里面的方法,把模板读进来,替换标志,生成html就可以了。
      

  6.   

    buildhtml.jsp可以是servlet也可以是类,看你怎么操作。
      

  7.   

    你只是为了输出吗?这样就可以
    <%
    String str = ""; // 你从数据库拿到的内容
    str = str.replace("\r\n","<br/>");
    str = str.replace("\n","<br/>");
    str = str.replace(" ","&nbsp;");
    out.print(str);
    %>
      

  8.   

    是不是直接调用buildhtml.jsp,然后生成template.htm,访问的是不是template.htm?
    那么他生成的静态htm文件会不会还保留?还是过一段时间自动删除了?
      

  9.   

    我想要的是输入几段文字 然后输出,java2000_net 的方法是一段的吧。
      

  10.   

    哦  FAT0708 我明白了,谢谢你。进来的都有分啊,我再等等看有没有别的建议没有。分不多,请大家笑纳。
      

  11.   

    生成的html当然是要保存放在专用的文件夹里了,不然你的前台访问不到啊。html生成的名字可以是信息的id,也可以是组合,看你怎么玩。
      

  12.   

    那他生成的html不是越来越多了?会不会越来越臃肿?
      

  13.   

    一篇文章(数据库里的一条记录)就生成一个html。不可能去年的老旧信息你还显示吧,后台维护要提供删除功能的。
      

  14.   

    FAT0708 
    你那方式我用过了 
    现在还有个问题 就是我在主页上显示新闻的时候应该怎么样获取他的新闻题目?
    想了半天,没想出来,请赐教!
      

  15.   

    <pre>
    <c:out value="${content}" />
    </pre>
    或者
    <textarea style="border:0px"><c:out value="${content}" /></textarea>
      

  16.   

    一般数据库设计里都应该要把标题(title)定义为一个字段存储的。
    难不成你在后台录入新闻资料时不录标题?!
      

  17.   

    你不是说:将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件
    那又怎么录入标题?既然要数据库,那又何必要用这种方法???
      

  18.   

    感觉多次一举,还不如直接用java2000_net 的 转换呢