可以在jsp中用Java编写javascript吗
如果我有类似于下面的代码,我可以运行它而没有任何问题吗?我假设Java将在javascript之前运行,因此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
<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表达式语言来获得所需的结果。