【问题标题】:JSP onload call servlet without scriptlets没有 scriptlet 的 JSP onload 调用 servlet
【发布时间】:2013-01-14 09:37:37
【问题描述】:

我希望在加载我的 JSP 时调用 servlet。我有这个链接:

<a href="ContentServlet?action=userContents">Homepage</a>

但是这样我必须点击链接,我想在加载jsp时自动执行调用。

另一方面,我不需要使用小脚本。有谁知道如何做到这一点?

【问题讨论】:

    标签: java html jsp servlets


    【解决方案1】:

    虽然它被标记为已解决,但我正在编辑我的答案以供将来参考: 除了 javascript 解决方案之外,您还可以使用 jsp 标签通过另外 2 个选项来完成此操作:

    选项1: 您可以将请求转发到相应的 servlet。 使用jsp标准动作jsp:forward,例如:

    <jsp:forward page="ContentServlet?action=userContents" >
    </jsp:forward>
    

    你可以用上面的标签替换你的链接,然后servlet就会被调用。

    选项2: 您可以使用 JSTL 标签将请求重定向到您的 servlet:

    <c:redirect url="ContentServlet?action=userContents" />
    

    你也可以用上面的标签替换你的链接。

    在 Option1 浏览器的 url 不会改变。 在选项 2 中,浏览器的 url 将更改为“ContentServlet?action=userContents”

    希望它能解决你的问题。

    【讨论】:

      【解决方案2】:

      为什么不使用 JavaScript?

       <script type="text/javascript">
              function redirect(){
              window.location = "/ContentServlet?action=userContents"
              }
      </script>
      
          ...
      
          <body onLoad="redirect()">
      

      【讨论】:

      • 我在想一种不用javascript的方法,比如用EL,你知道吗?
      • 好的,但是我看这里没有人回应。我会投票赞成你的答案,无论如何谢谢你:)
      • 要么是 JavaScript,要么是在 Scriptlet 代码中使用 response.sendRedirect()。 - 但如果我理解正确的话,scriptlet 就不在讨论范围内了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多