getstring老是会自动取掉空格和回车????
怎么可能??

解决方案 »

  1.   

    这是因为HTML的换行符与JAVA不一样,用getString()取出后要做替换,将"\n"替换成"<br>"
      

  2.   

    getString()取出后要做替换,将"\n"替换成"<br>"
    用&nbsp;代替空格
      

  3.   

    最好做一个bean,来替换必须这样的,要不然就会出现你说的情况!
    package bean;
    public class Returnto
    {   
        public String str="";
        public String getStr(String str)
         {
           
           str=returnToHTML(str);
           str=returnToBr(str);
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("ISO8859-1");
    String temp=new String(temp_t);
    return temp;
    }
    catch(Exception e)
    {
    }
    return "null";
    }private static String returnToBr(String str) { 
    if (str == null || str.equals("")) { 
    return str; 
    } StringBuffer sTmp = new StringBuffer(); 
    int i = 0; while (i <= str.length()-1) { 
    if (str.charAt(i) == '\n') { 
    sTmp = sTmp.append("<br>"); 
    } else if (str.charAt(i) == ' ') { 
    sTmp = sTmp.append("&nbsp;"); 
    }else if(str.charAt(i) == '\''){sTmp = sTmp.append("&#39");}
    else{ 
    sTmp = sTmp.append(str.substring(i,i+1)); 
    } i++; 

    String S1;
    S1=sTmp.toString();
    return S1; 

    private static String returnToHTML(String str) { 
    if (str == null || str.equals("")) { 
    return str; 
    } StringBuffer sTmp1 = new StringBuffer(); 
    int i = 0; while (i <= str.length()-1) { if (str.charAt(i) == '<') { 
    sTmp1 = sTmp1.append("&lt;"); 
    } else if (str.charAt(i) == '>') { 
    sTmp1 = sTmp1.append("&gt;"); 
    }else
     { 
    sTmp1 = sTmp1.append(str.substring(i,i+1)); 
    } i++; 

    String S2;
    S2=sTmp1.toString();
    return S2; } }
    调用方法getStr();
    一切搞定!