2013-03-12 58 views
0

我有一个编辑弹出window.In我的代码我使用字符串构建。我已经使用了追加'。' 。我的信息以'。'结尾。即点。我怎样才能使用“\ n”,以便我的消息应该在下一行? 我试过historyMessage.append(“\ n”),historyMessage.append(“\ n”)和historyMessage.append(“\ r \ n”);但它不适合我。任何人都可以请检阅我的代码,并帮助我错了。如何添加追加“ n”来的StringBuilder来获得下一行的值?

private String historyMessage(HdiGdvHistory hdiGdvHistory, String messageType) { 
     StringBuilder historyMessage = new StringBuilder(); 
     HdiGdv gdv = hdiGdvDAO.getById(hdiGdvHistory.getHdiGdvId()); 
     hdiGdvHistoryList = hdiGdvHistoryDAO.getByIds(gdv.getId()); 
     if("approved".equals(messageType) || "rejected".equals(messageType)){ 
      historyMessage.append("User "+hdiGdvHistory.getUser().getFirstName() +" has "+messageType); 
     } 

     if(hdiGdvHistoryList==null || hdiGdvHistoryList.isEmpty()){  
      if(!gdv.getHouseNumber().equals(hdiGdvHistory.getHouseNumber())){ 
       historyMessage.append(getHistoryMessage(hdiGdvHistory, "House Number" ,gdv.getHouseNumber(),hdiGdvHistory.getHouseNumber())); 
       historyMessage.append(". "); 
      } 
     }else{ 
      hdiGdvHistoryList = hdiGdvHistoryDAO.getByFilteredIds(gdv.getId()); 
      System.out.println("list "+hdiGdvHistoryList.size()); 

      hdiGdvHistoryList = hdiGdvHistoryDAO.getByIds(gdv.getId()); 
      for (HdiGdvHistory history : hdiGdvHistoryList) { 
       if(!hdiGdvHistory.getHouseNumber().equals(history.getHouseNumber())){ 
        historyMessage.append(getHistoryMessage(hdiGdvHistory, "House Number" ,history.getHouseNumber(),hdiGdvHistory.getHouseNumber())); 
        historyMessage.append(". "); 
        break; 
       } 
      } 
     } 


    if(hdiGdvHistoryList==null || hdiGdvHistoryList.isEmpty()){ 
     if(!gdv.getCity().equals(hdiGdvHistory.getCity())){ 
      historyMessage.append(getHistoryMessage(hdiGdvHistory, "City" ,gdv.getCity(),hdiGdvHistory.getCity())); 
      historyMessage.append(". "); 
     } 
    }else{ 
     for (HdiGdvHistory history : hdiGdvHistoryList) { 
      if(!hdiGdvHistory.getCity().equals(history.getCity())){ 
       historyMessage.append(getHistoryMessage(hdiGdvHistory, "City" ,history.getCity(),hdiGdvHistory.getCity())); 
       historyMessage.append(". "); 
       break; 
      } 
     } 
    } 

     hdiGdvHistoryList.clear(); 
    gdv=new HdiGdv(); 
    hdiGdvHistory = new HdiGdvHistory(); 
    return historyMessage.toString(); 

} 

private String getHistoryMessage(HdiGdvHistory hdiGdvHistory, String values , String preFieldValue ,String fieldValues) { 
     return "User "+hdiGdvHistory.getUser().getFirstName() +" has updated " +values+ " "+preFieldValue +" to "+fieldValues; 
} 
+5

通过看标题。我会说**'StringBuilder.append(“\ n”)** ** – PermGenError 2013-03-12 12:38:10

+0

看起来像类似的问题:http://stackoverflow.com/questions/2617752/newline-character-in-stringbuilder – darpet 2013-03-12 12:39:49

回答

0

这应该做的伎俩:

historyMessage.append('\n'); 
+0

另请参阅[Java 7的lineSeparator方法](http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#lineSeparator%28%29) – vikingsteve 2013-03-12 12:52:42