天天看點

轉義符回車和換行的不同

最近在一個項目(OA項目)中出現了一個奇怪的問題,項目的流程是這樣的:從資料庫中拿出一個收文,然後用web office顯示在jsp頁面上,但是有的收文可以顯示,但有的收文不能顯示,還報出了未結束的字元串常量,代碼0,和缺少對象,代碼0的錯誤,經過幾番周折後終于發現了問題。

原來在收文節點進行簽署意見時。使用者進行了回車操作,進而在簽署的意見字元串中有了一個"\r"的轉義符,但是在程式中隻對"\n"進行了處理,并沒有對"\r"進行處理,結果在jsp頁面中對文檔中的書簽進行指派時,作為值參數的字元串因為有"\r"轉義符,本來是一個字元串卻被分在了兩行。導緻了出錯。

比如:String str = "aa";

reloadReceiveDocumentMark("bbmyj", aa);這種情況下是正确的。

但如果在字元串中間有了個回車:String str = "aa\rbb";當執行方法reloadReceiveDocumentMark("bbmyj", aa);進行指派時就被處理成

reloadReceiveDocumentMark("bbmyj", "aa

bb);這樣就出錯了。

這個問題困擾了我大半天,拿出來和大家分享下,希望對大家有幫助。