gpt4 book ai didi

javascript - JSTL。如何从 c 中的 <script> 调用函数 :set jSTL tag?

转载 作者:行者123 更新时间:2023-12-03 03:04:35 28 4
gpt4 key购买 nike

我只需要这样的东西:

<c:set var="cls" value="${myFunc(param)}"/>

.....

<script>
function myFunc(param) {
if(param == true) {
return "aaa";
} else {
return "bbb";
}
}
</script>

当我尝试它时,出现此错误:

org.apache.jasper.el.JspELException: /script.jsp(22,12) '${myFunc()}' Function [:myFunc] not found

最佳答案

你想做的事情可能吗?

用一个词回答这个问题就是...

让我们深入探讨原因,提示在这里.. JSTL(JavaServer Pages 标准标记库).. 请参阅“服务器”一词。是的。

JSP 页面的编译就像 Java 文件一样。编译成功后,可以将其作为响应发送,然后浏览器渲染此响应并显示页面。

JavaScript:是一种客户端编程语言,这意味着 JavaScript 中的代码由浏览器运行,而不是由服务器运行。

当编译器编译 Jsp 文件时,它只处理 Scriptlet 和 JSTL 部分,其余代码(我指的是其余 HTML、CSS 和 JS 代码)只是一段字符串。

现在,想象一下您的代码中的情况,当 Java 编译器尝试编译时,它发现 myFunc 必须是一个方法,但是到哪里寻找呢?

它不能将其视为JavaScript函数,因为JavaScript仅在浏览器中运行而不是在服务器端运行。因此,您无法设置 cls 变量的值,因为 myFunc 对于 Java 来说是未知的。

希望这可以帮助您了解 JSP 和服务器端工作。

记住上述事情,尝试一些更好的方法来解决您的问题。

快乐编码:)

关于javascript - JSTL。如何从 c 中的 &lt;script&gt; 调用函数 :set jSTL tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47223128/

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