2011-08-16 3 views
1

내 자바 스크립트 함수에 문자열 변수를 전달하기 위해 노력하고있어,하지만 내 변수가 여러 줄이 있습니다(사용 속도)

String info = "aaaa \n bbb \n ccc"; 

I : 예를 들어를 제대로 표시하려면이 양식이 필요합니다. 그리고 지금 나는 정보 필드가있는 "결과"Java Object가 있으며 이것을 자바 스크립트 함수에 전달할 수 없습니다.

popupErrors('$!{result.info}')" 

여기서 result.info는 전체 텍스트로 새 줄이 표시됩니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

에 문자열을 전달합니다. –

+0

'\ n'을'
's으로 변환 하시겠습니까? – Jeremy

+0


으로 변환하는 것이 좋습니다. 내가 어떻게 해? – Dawid

답변

2

어쩌면 popupErrors가 자바 스크립트 경고 대신 HTML 팝업을 표시합니다. 새 줄이 나타나지 않으므로 \n<br/>으로 바꾸어야 HTML에 표시됩니다. 또는 어쩌면 $!{result.info} 인코딩을 자동으로 HTML 당신의 \n 당신은 escape the string to Javascript format 필요

+0

내 Java 클래스에서
을 변경하면 내 문제가 해결되었습니다. 감사합니다. – Dawid

0

모든 JavaScript 특수 문자 (줄 바꿈, ",", 탭 등)가 이스케이프 (\ n, \ ", \ ', \ t 등)되도록 문자열을 변환해야합니다.

Commons-lang에는 StringEscapeUtils.escapeEcmaScript이 있습니다. 이 메서드를 JSP 태그 안에 캡슐화하거나 컨트롤러에서 문자열을 이스케이프 처리합니다.

1

&#010;에 :

popupErrors('$esc.javascript($result.info)') 
0

가 \ n 공간을 대체합니다.

Str.replace("\n"," "); 

는 그럼 도와 어려울 것이다 무엇 popuperror 모르고 자바 스크립트 함수

+1

문자열 내에 주석이 있으면 // 작동하지 않습니다. –