javascript - 我可以在 javascript 函数中使用 scriplet 吗?

标签 javascript html jsp scriptlet

我可以根据使用的链接执行某些 scriplet 吗?

<b><pre>
    <a href="javascript:Admin()">New Admin Here</A>
    <a href="javascript:User()">New User Here</A>
    <script language="javascript"> 

       function Admin(){
           window.alert("In Admin");
          <%
          System.out.println("In admin");
          session.setAttribute("rrole","Admin");
          response.sendRedirect("Register.jsp");
          %>
       };
       function User(){
           alert("In User");
          <%
          System.out.println("In User");
          session.setAttribute("rrole","User");
          response.sendRedirect("Register.jsp");
          %>
       };

    </script>
</b></pre>

当我执行上面的代码时....无论我点击哪个链接,所有脚本都会被执行

最佳答案

简短回答:不,你不能。 JavaScript 是在执行服务器响应后“呈现”的客户端代码。 以下是您将在浏览器上看到的内容:

<b><pre>
    <a href="javascript:Admin()">New Admin Here</A>
    <a href="javascript:User()">New User Here</A>
    <script language="javascript"> 

       function Admin(){
           window.alert("In Admin");
       };
       function User(){
           alert("In User");
       };

    </script>
</b></pre>

并且,在浏览器收到此响应之前,您将在服务器控制台上得到:

In admin
In User

rrole session 属性将具有 User 值,因为它是最后一个放置的值。

如果您想根据单击的内容在服务器控制台上输出某些内容,则应该向服务器触发另一个请求,“通知它”用户单击的内容。

关于javascript - 我可以在 javascript 函数中使用 scriplet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36064609/

相关文章:

html - 自动化测试CSS和HTML前端编码

html - JSP 的输入标签中的 If/else 循环值选项

spring - 提交表单时出现 InvalidCsrfTokenException

javascript - JAVA 使用 Selenium 时如何禁用 Javascript?

javascript - 在点击数据库中的网站时在 iframe 中加载点击 ID 的网站

javascript - 无法从动态 html 代码中读取 null 的属性 'style'

java - 如何在没有 Http 请求的情况下获取 Web 应用程序的当前上下文?

javascript - 如何解决 node.js 中的模块缓存警告(单例问题)?

javascript - React.js 无法读取未定义的属性 'setState'

javascript - 为什么使用忽略垃圾工件的方法替换段落内容不起作用?