Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
可以在jsp中用Java编写javascript吗_Java_Javascript_Jsp_Jsp Tags - Fatal编程技术网

可以在jsp中用Java编写javascript吗

可以在jsp中用Java编写javascript吗,java,javascript,jsp,jsp-tags,Java,Javascript,Jsp,Jsp Tags,如果我有类似于下面的代码,我可以运行它而没有任何问题吗?我假设Java将在javascript之前运行,因此javascript不会出现问题,但我以前没有这样做过: <script type="text/javascript"> <% functThatOutputsJavascript() %> </script> 这是一种非常非常糟糕的编程风格,但是是的,这是可能的 我现在正在编写的代码做了一些非常类似的事情。我想你会真的想做: <script t

如果我有类似于下面的代码,我可以运行它而没有任何问题吗?我假设Java将在javascript之前运行,因此javascript不会出现问题,但我以前没有这样做过:

<script type="text/javascript">
<% functThatOutputsJavascript() %>
</script>

这是一种非常非常糟糕的编程风格,但是是的,这是可能的

我现在正在编写的代码做了一些非常类似的事情。我想你会真的想做:

<script type="text/javascript">
    <%= functThatOutputsJavascript() %>
</script>

事实上,使用Java条件修改Javascript输出可能会做得更糟:

<script type="text/javascript">
    while (i > 0) {
        <% if (serverVar)) { %>
            console.log("Server says yes!");
        <% } else { %>
            console.log("Server says no!");
        <% } %>
    }
</script>

而(i>0){
log(“服务器说是!”);
log(“服务器说不!”);
}
如果serverVar为true,则会输出以下代码:

<script type="text/javascript">
    while (i > 0) {
            console.log("Server says yes!");
    }
</script>

而(i>0){
log(“服务器说是!”);
}
或此代码(如果为false):

<script type="text/javascript">
    while (i > 0) {
            console.log("Server says no!");
    }
</script>

而(i>0){
log(“服务器说不!”);
}
这是一种糟糕的编码风格,我希望您在实践中不要这样做!如果您想知道如何避免编写这样的代码,请查看以下问题:


一般建议使用JSP EL(JSP表达式语言)将服务器端变量设置到Javascript中,然后用Javascript编写所有逻辑。

您应该能够将Javascript编写到输出编写器中。但我会推荐一种不同的方法。你为什么不试试看它是否有效?当然有效。JSP只是一个模板。你可以在模板中放入你想要的任何内容。谢谢。我甚至还没有开始写任何东西(这就是我问的原因),所以我将研究避免这种风格。我可能会用它来暂时让某些东西工作。你需要它的用例应该非常非常少。最好使用JSP表达式语言来获得所需的结果。