小编典典

将数据从servlet传递到无格式的jsp?

jsp

因此,我基本上想要在这里进行的工作是从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具有特定的功能。但是,如何不使用表单发送此数据?


阅读 333

收藏
2020-06-08

共1个答案

小编典典

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

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

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

http://localhost:8080/yourWebApp/yourServlet

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

/yourServlet由于<servlet- mapping>web.xml中的元素,或者由于@WebServletServlet类的注释,该servlet 映射到了某些URL(在我的示例中)。

2020-06-08