日本科技大学如何从 c:set jstl 标签中的 <script> 调用函数?
JSTL. How to call a function from <script> in c:set jstl tag?
我只需要这样的东西:
<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(Java服务器页面标准标签库)..看到这个词'Server'。是的。
JSP 页面像您的 Java 文件一样编译。一旦编译成功,它就可以作为响应发送,然后浏览器呈现这个响应并显示页面。
JavaScript : 是一种客户端编程语言,这意味着 JavaScript 中的代码 运行 由浏览器而非服务器
当编译器编译Jsp文件时,它只播放Scriptlet和JSTL部分,其余代码(我指的是HTML、CSS和JS代码的其余部分) 只是一段字符串。
现在,想象一下你的代码中的一种情况,当 Java 编译器试图编译它时发现 myFunc
必须是一个方法,但在哪里寻找?
它不能将其视为 javascript 函数,因为 javascript 运行 仅在浏览器中而不在服务器端。因此,您无法设置 cls
变量的值,因为 myFunc
对于 Java 是未知的。
希望这可以帮助您了解 JSP 和服务器端工作。
牢记以上几点,尝试一些更好的方法来解决您的问题。
快乐编码:)
我只需要这样的东西:
<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(Java服务器页面标准标签库)..看到这个词'Server'。是的。
JSP 页面像您的 Java 文件一样编译。一旦编译成功,它就可以作为响应发送,然后浏览器呈现这个响应并显示页面。
JavaScript : 是一种客户端编程语言,这意味着 JavaScript 中的代码 运行 由浏览器而非服务器
当编译器编译Jsp文件时,它只播放Scriptlet和JSTL部分,其余代码(我指的是HTML、CSS和JS代码的其余部分) 只是一段字符串。
现在,想象一下你的代码中的一种情况,当 Java 编译器试图编译它时发现 myFunc
必须是一个方法,但在哪里寻找?
它不能将其视为 javascript 函数,因为 javascript 运行 仅在浏览器中而不在服务器端。因此,您无法设置 cls
变量的值,因为 myFunc
对于 Java 是未知的。
希望这可以帮助您了解 JSP 和服务器端工作。
牢记以上几点,尝试一些更好的方法来解决您的问题。
快乐编码:)