我只需要这样的东西:


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

 .....

<脚本>
 function myFunc(param){
 if(param == true){
返回“aaa”;
 } else {
返回“bbb”;
 }
 }
< / script>



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

 


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


答案 0 :(得分:1)
你正在尝试做什么,可能吗?
用一个词来回答这个问题 NO ...
让我们深入了解原因,提示就在这里.. JSTL(JavaServer Pages标准标签库)..请参阅“服务器”一词。是。
JSP页面的编译方式与Java文件类似。编译成功后,可以将其作为响应发送,然后浏览器呈现此响应并显示页面。
JavaScript:是一种客户端编程语言,这意味着JavaScript中的代码由浏览器而不是服务器运行。
当编译器编译Jsp文件时,它只播放Scriptlet和JSTL部分,其余的代码(我的意思是HTML,CSS和JS代码的其余部分)只是一个字符串。
现在,想象一下代码中的情况,而Java编译器正在尝试编译它发现myFunc
必须是一个方法但在哪里寻找?
它无法将其视为javascript函数,因为javascript仅在浏览器中运行,而不在服务器端运行。因此,您无法设置cls
变量的值,因为Java不知道myFunc
。
希望这有助于您了解JSP和服务器端的工作情况。
牢记事情,尝试一些更好的方法来解决您的问题。
快乐编码:)