gpt4 book ai didi

XPages - 设置 viewScope 值的客户端代码?

转载 作者:行者123 更新时间:2023-12-02 05:02:37 24 4
gpt4 key购买 nike

我有一个按钮,点击那个按钮我有客户端代码来设置 viewScope 值:

  var val = 'TEST_VALUE';
"#{javascript: viewScope.testVal = " + val + "}"

在该按钮的服务器端,我试图获取 viewScope 值:

print("ViewScope val " + viewScope.testVal); 

ViewScope 中存储的不是变量值,而是变量名。

最佳答案

CSJS 中的 SSJS 是在呈现页面时在服务器上计算的,并将 SSJS 替换为结果。所以你的 CSJS 没有运行 SSJS。由于作为客户端的本质,浏览器不能运行服务器端代码。因此,您可以将 SSJS 的结果包含在一段 CSJS 中,但自上次 SSJS 在服务器上重新计算并传递给浏览器以来,它不会更新值。

您不能通过 CSJS(客户端 JS)更新 viewScope 变量,因为 viewScope 变量仅保存在服务器上。它是服务器端 map ,而不是客户端浏览器 cookie。所以它只能通过服务器端代码或运行服务器端代码的帖子来更新。

如果您想要使用 CSJS 的内容更新 viewScope 变量,您需要使用该值更新隐藏输入,将该隐藏输入绑定(bind)到 viewScope 变量并运行部分刷新以发布内容服务器的隐藏输入。如果它在页面的其他地方,只需使用 SSJS 访问组件/数据源并避免使用 CSJS,但不清楚您的用例是什么。

关于XPages - 设置 viewScope 值的客户端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16815183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com