遵循的步骤:
- 用于
jsp:include
从JSP调用Servlet,它将在运行时包含JSP中Servlet的响应 - 在Servlet的请求中设置属性,然后在JSP中简单地读取它
样例代码:
JSP:
<body> <jsp:include page="/latest_products.jsp" /> <c:out value="${message }"></c:out></body>
Servlet:
编辑protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("message", "hello");}
但我不想在url中显示servlet的名称。
只需
url-pattern为Servlet
定义一个不同而有意义的代码,
web.xml如下所示,它看起来像一个JSP页面,但在内部它是一个Servlet。
web.xml:
解决方案2<servlet> <servlet-name>LatestProductsServlet</servlet-name> <servlet-class>com.x.y.LatestProductsServlet</servlet-class></servlet><servlet-mapping> <servlet-name>LatestProductsServlet</servlet-name> <url-pattern>/latest_products.jsp</url-pattern></servlet-mapping>
遵循的步骤:
- 第一次调用Servlet
- 处理最新产品
- 在请求属性中设置列表
- 将请求转发到JSP,在此可以使用JSTL在JSP中轻松访问
样例代码:
Servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("message", "hello"); RequestDispatcher view=request.getRequestDispatcher("index.jsp"); view.forward(request,response);}
index.jsp:
<body> <c:out value="${message }"></c:out></body>
点击URL:
scheme://domain:port/latest_products.jsp将调用Servlet的
doGet()方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)