2017-09-20 12 views
1

여기 지금 zhtml 파일에 내가 가진 무엇 :왜 zscript에서 Java String 값을 ZK의 javascript로 전달할 수 없습니까?

<zscript> 
    String sample="123456"; 
</zscript> 
<script> 
    function called(){ 
    var jsample=${sample}; 
    alert(jsample); 
    } 
</script> 

샘플의 int는 또는 부울 또는 숫자 아무것도하지만, 문자열, 그것은 함수를 호출 괜찮아요 작동하는 경우, 경고 상자를 보여주는 팝업 값, 일련의 숫자 또는 참/거짓.

그러나 샘플

String sample="q123456"; 

같은 문자를 포함하는 경우 그런 다음 함수를 호출 working.I 중지,하지만 아무것도 그것이

var jsample=${sample}; 

내가 그 원인을 무엇인지 궁금에서 중단이 발생하지 않습니다 그것은 기본 자바 스크립트를 느꼈다.

감사합니다.

답변

1

예, 기본 JavaScript입니다. 하지만 당신은 코드가 ${sample};는 ZUL 파서에 의해 해결 된 후 모습을 상상하기가 :

var jsample=123456; // jsample is a number, value 123456 
var jsample=false; // jsample is a boolean, value false 
var jsample=q123456; // jsample is something, value whatever q123456 is 

당신은 자바 스크립트 q123456 그것이을 찾을 수있는 변수 이름입니다 생각하는 것을 알 수있다. 콘솔을 여는 경우 Chrome에서 예를 들어 "Uncaught ReferenceError : asdasd is not defined"라고 말합니다. ,

var jsample="123456"; 
var jsample="false"; 
var jsample="q123456"; 

특정 유형을해야하는 경우 :

는이 문제를 해결

var jsample="${sample}"; 
문자열로 sample을 래핑

에 zScript을 변경, 그래서 결과 자바 스크립트 코드는 지금과 같이 표시됩니다하려면 JavaScript는 자동으로 jsample으로 변환하거나 isNaN과 같은 수표를 사용하여 수동으로 변환 할 수 있습니다.

+0

또는'$ {sample} ' –

+0

@RC를 큰 따옴표로 묶으십시오. 그 제안을 주셔서 감사합니다. –