servlet返回word类型的jsp文件,word文件中的文字动态生成,在返回后文字中的空格和回车(换行)格式都没有了,应该怎样解决才能使文字的格式正常显示,问题解决就给分

解决方案 »

  1.   

    lz可以试试用apache的poi解析下看看,在org.apache.poi.hwpf.usermodel包下有个Paragraph类,及段落,你可以分别读取出每个段落然后再处理(加<br>之类)
      

  2.   

    import java.io.InputStream;
    import java.io.FileInputStream
    import java.io.File;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.usermodel.Range;
    import org.apache.poi.hwpf.usermodel.Paragraph;public class ReadWord
    {
    public static void main(String[] args) throws Exception{
    InputStream in = new FileInputStream(new File("c:\\test.doc"));
    HWPFDocument wordDocument = new HWPFDocument();
    Range range = wordDocument.getRange();
    int total = range.numParagraphs();
    for(int i=0;i<total;i++){
    Paragraph p = range.getParagraph(i);
    String content = p.text();
    }

    }
    }凭记忆写的,大致就是这个顺序
      

  3.   

    刚才经历催着要下班了,有个地方写错了,String content要声明在循环外面的重发:import java.io.InputStream; 
    import java.io.FileInputStream 
    import java.io.File; 
    import org.apache.poi.hwpf.HWPFDocument; 
    import org.apache.poi.hwpf.usermodel.Range; 
    import org.apache.poi.hwpf.usermodel.Paragraph; public class ReadWord 

      public static void main(String[] args) throws Exception{ 
        InputStream in = new FileInputStream(new File("c:\\test.doc")); //流入doc文档
        HWPFDocument wordDocument = new HWPFDocument(in); //通过流得到文档类型
        Range range = wordDocument.getRange(); //取得文档篇幅
        int total = range.numParagraphs(); //文档内的总段落数
         String content = "";//文章内容
        for(int i=0;i <total;i++){ 
          Paragraph p = range.getParagraph(i); //取得每个段落
          //组合文字并添加换行
          content += p.text(); 
          content += "<br>";
        } 
      } 
    } 以上方法适用于标准的文本,对于一些经过特殊排版处理的内容会显示的比较迷糊~~
      

  4.   

    浏览器不能识别JAVA的换行符和空格符
    可以用<BR>代替换行符,空格则可以用&nbsp代替