【问题标题】:Is it possible to execute a javascript function from the java part of jsp?是否可以从 jsp 的 java 部分执行 javascript 函数?
【发布时间】:2016-03-28 19:45:52
【问题描述】:

在 jsp 中,我想要一个在 javascript 中定义的函数

<script type="text/javascript">
function forSignup(){

    if(document.getElementById("sign").style.display=='none')
    {

        document.getElementById("sign").style.display='block';
        document.getElementById("login form").style.display='none';
    }

    else
    {
        document.getElementById("login form").style.display='block';
        document.getElementById("sign").style.display='none';
    }
</script> 

在从 jsp &lt;% %&gt; 的 java 部分调用时执行,条件是 servlet 发送整数值为 1 。

可以吗?

如果是,请告诉我应该如何执行?

【问题讨论】:

  • JavaScript 是客户端语言,Java 是服务器端语言。
  • @kevingreen 这两点都错了。
  • @chrylis 想详细说明或参与讨论?
  • @kevingreen Java 可以在客户端运行,而 JavaScript 在 JVM 和 Node 中都在服务器端使用。
  • @chrylis 这显然不是 node.js,而且 JSP 通常不用于客户端(桌面)应用程序。

标签: javascript java jsp


【解决方案1】:

我认为这大致就是您要查找的内容。如果服务器端变量(intValue)等于1,则调用该函数,否则不调用。

<% if (intValue == 1) { %>
    <script type="text/javascript">
        forSignup();
    </script>
<% } %>

但请记住,您实际上并不是“从 Java”调用此 Javascript 函数。您只是确保根据服务器端条件调用 Javascript 函数,具体取决于所讨论的整数值。

【讨论】:

    【解决方案2】:

    您可以使用&lt;c:if&gt; 块在您的JSP 中包含基于变量的JavaScript。

    【讨论】:

      【解决方案3】:

      JavaScript 可以从 Java 代码执行,但这并不简单,而且您发布的代码必须从 DOM 运行,因此 不能 在服务器端处理。此外,强烈建议不要使用小脚本;最好为页面准备模型(通常使用 Spring MVC 等框架),然后仅使用模板进行渲染。

      您要做的是条件逻辑,根据用户是否登录等状态确定是否显示元素。使用&lt;c:if&gt; 有选择地在呈现的 HTML 中包含代码(并且直接设置 CSS而不是通过 JavaScript 绕道而行)。

      【讨论】:

        【解决方案4】:

        如果你想在javascript方法中执行java代码

        <script >
         function login(){
         <% System.out.println("Hiiiiiiiii"); 
        
         %>
         var password="test"
         }
        </script>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-17
          • 2014-08-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多