java - 在没有表单的情况下将数据从 servlet 传递到 jsp?

标签 java jsp servlets

所以我基本上想在这里做的是从 servlet 中获取 JSP 中的酒店列表,无需任何形式。

这是我的 JSP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<ul>
    <c:forEach var="elem" items="${list}">
    <li>${elem.name}</li>
    </c:forEach>    
</ul>
</body>
</html>

Servlet 函数:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws                           ServletException, IOException {


    try {
        java.util.List<Hotel> list = model.getAllHotels();
        request.setAttribute("list", list);
        RequestDispatcher rDispatcher = request.getRequestDispatcher("/index.jsp");
        rDispatcher.forward(request, response);

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

现在我知道如何通过带有 get/post 的表单来执行此操作,因为 servlet 具有特定的功能。但是我如何在没有表格的情况下发送这些数据?

最佳答案

您只需要一个指向您的 servlet 的链接:

<a href="<c:url value='/yourServlet' />">Click here to list the hotels</a>

您还可以通过在浏览器的地址栏中键入其地址来调用 servlet:

http://localhost:8080/yourWebApp/yourServlet

您的 servlet 代码很好,JSP 代码也很好。

由于 /yourServlet,servlet 被映射到某个 URL(在我的例子中是 <servlet-mapping>) web.xml 中的元素,或者感谢 @WebServlet servlet 类上的注解。

关于java - 在没有表单的情况下将数据从 servlet 传递到 jsp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501595/

相关文章:

java - 使用 Spring Data JPA 从 MS SQL 中选择前 1 条记录

java - 从jsp el中的对象获取 boolean 属性

java - 我可以在同一个操作中使用多种方法吗?

java - 小服务程序 : Cannot forward after response has been committed

java - setCompressionLevel(0) 但机智 PDFBox?

java - 错误 : Program type already present: com. rom4ek.arcnavigationview.R

java - VisualVM 和 GlassFish

java - 无需 Cookie 和 URL 重写的 session 处理

java - 在容器页面中提交 <form> 时更新容器页面中的 iframe

javascript - JavaScript 可以向 Web 容器 Servlet 发送 HTTP 请求吗?