2013-07-11 50 views
2

我有以下字符串中的Java:JavaScript錯誤與回車和換行符

"this is text1\r\nthis is text2\r\nthis is text3" 

我與<br/>更換\r\n如下:

String temp = "this is text1\r\nthis is text2\r\nthis is text3" 
temp = temp.replaceAll("[\r\n]+", "<br/>"); 

產生以下字符串:"is text1 this is text2 this is text3"

現在,我想將它發送到JavaScript元素如下:

var desc_str = "<%=temp%>"; 
document.getElementById('proc_desc').value = desc_str; 

從Java的輸出是好的,但傳遞給HTML元素後,我得到JavaScript錯誤「未終止的字符串文字」,我沒有找到線索,請幫助。

+0

不熟悉Java,但你試過編碼爲JSON? – elclanrs

+0

@Ian可以解決scriplets使用的問題,但不要認爲這對JavaScript客戶端有幫助。 –

+2

爲什麼不在你的問題中包含生成的JavaScript代碼?你甚至看過它嗎?我想通過查看生成的JavaScript,答案會非常明顯。 – DaoWen

回答

0

這聽起來像你沒有得到你的字符串的所有線突破。

您可能會發現這篇文章有幫助: How do I replace all line breaks in a string with <br /> tags?

+0

我找到了解決方案,問題是\ r \ n的escape/unescape,同時將java字符串傳遞給javascript變量。沒有必要用
替換\ r \ n,但只需要使用Java字符串tmpProPrDesc = StringEscapeUtils.escapeJavaScript(tmpProPrDesc); var desc_str =「<%= tmpProPrDesc%>」; document.getElementById('proc_desc')。value = desc_str; – skalluri