Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSTL。如何从<;调用函数;脚本>;在c中:设置jstl标记?_Javascript_Jstl - Fatal编程技术网

Javascript JSTL。如何从<;调用函数;脚本>;在c中:设置jstl标记?

Javascript JSTL。如何从<;调用函数;脚本>;在c中:设置jstl标记?,javascript,jstl,Javascript,Jstl,我只需要这样的东西: <c:set var="cls" value="${myFunc(param)}"/> ..... <script> function myFunc(param) { if(param == true) { return "aaa"; } else { return "bbb"; } } </script> .....

我只需要这样的东西:

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

.....

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

.....
函数myFunc(参数){
if(param==true){
返回“aaa”;
}否则{
返回“bbb”;
}
}
当我尝试时,会出现以下错误:

org.apache.jasper.el.jspeleexception:/script.jsp(22,12)${myFunc()} 未找到函数[:myFunc]


你想做的是可能的吗

用一个词来回答这个问题的答案是否定的

让我们深入了解原因,这里有提示。。JSTL(JavaServerPages标准标记库)。。请参阅“服务器”一词。对

JSP页面的编译方式与Java文件类似。编译成功后,可以将其作为响应发送,然后浏览器呈现此响应并显示页面

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

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

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

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

希望这能帮助您理解JSP和服务器端工作

记住以上几点,尝试一些更好的方法来解决你的问题


快乐编码:)

我不知道你到底想要实现什么??你能详细说明一下吗?哦,我明白了。谢谢。