java - 没有 scriptlet 的 JSP onload 调用 servlet

标签 java html jsp servlets

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

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

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

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

最佳答案

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

选项 1: 您可以将请求转发给相应的 servlet。 使用jsp标准 Action 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”

希望它能解决您的问题。

关于java - 没有 scriptlet 的 JSP onload 调用 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606245/

相关文章:

html - 纯 CSS 下拉菜单问题

javascript - 在浏览器外运行 JavaScript 应用程序

java - JSP中IF语句执行错误

java - 如何用编程风格替换@SchedulerLock

javascript - 如何使用jquery将表单的目标设置为fancybox?

java - 与 Maven Nexus 服务器共享 JARS...仅在具有通用代码的工作站上看到更新

java - Spring MVC 找不到映射错误

java - 如何通过单击html页面中的菜单从jsp调用java方法?

Java GDB 输入不是来自终端

java - 如何在 sql 语句(Java)中使用大写的列名和表名?