首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在ZK中将Java字符串值从zscript传递给javascript?

为什么我不能在ZK中将Java字符串值从zscript传递给javascript?
EN

Stack Overflow用户
提问于 2017-09-20 06:22:06
回答 1查看 418关注 0票数 2

下面是我现在在zhtml文件中的内容:

代码语言:javascript
复制
<zscript>
  String sample="123456";
</zscript>
<script>
  function called(){
    var jsample=${sample};
    alert(jsample);
  }
</script>

如果示例是整数或布尔值,或只有数字的字符串,则它工作得很好。我调用函数,会弹出警告框,显示值,无论是一系列数字还是真/假。

但是,如果示例包含一个字符,如

代码语言:javascript
复制
String sample="q123456";

然后它停止工作,我调用这个函数,但是什么都没有发生,它停在

代码语言:javascript
复制
var jsample=${sample};

不过,我很好奇是什么导致了that.It感觉像是基本的javascript。

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 09:32:02

是的,它是基本的JavaScript。但是,您必须想象在zul解析器解析${sample};之后代码是什么样子的:

代码语言:javascript
复制
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 JavaScript认为是一个变量名,它找不到。它会告诉你,如果你打开控制台,例如Chrome说:“未定义的ReferenceError: asdasd”。

要解决这个问题,请将zScript更改为

代码语言:javascript
复制
var jsample="${sample}";

它将sample封装成一个字符串,因此生成的JavaScript代码现在将如下所示:

代码语言:javascript
复制
var jsample="123456";
var jsample="false";
var jsample="q123456";

如果需要特定类型,JavaScript可能会自动转换jsample,或者使用isNaN之类的检查手动进行转换。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46314660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档