我在这个主题中看到了网络上的多个问题,但我有一些困惑。在我的迷你mvc:用户点击链接:<a href="../TodaySaleServlet.do">Today Sale</a>
。此链接将用户带到名为TodaySaleServlet.do
的servlet。数据应显示在sale/Today_Sale.jsp
中。
这是一个从模型中获取数据的servlet。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setContentType("");
long now = System.currentTimeMillis();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
long first = cal.getTimeInMillis();
String location = request.getSession(false).getAttribute("DBLOCATION").toString();
String db = request.getSession().getAttribute("DBNAME").toString();
System.out.println(location);
System.out.println(db);
SaleMaster sm = new SaleMaster(location, db);
List<String> Sales = sm.Datewise(first, now);
request.setAttribute("Sales", Sales);
RequestDispatcher rd = request.getRequestDispatcher("sale/Today_Sale.jsp");
rd.forward(request, response);
}
我的 Today_Sale.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<c:import url ="../includes/header_2.jsp"/>
<div class="container">
<h3 align="center">
Today's Sale Report
</h3>
<c:forEach var="Sale" items="${Sales}" >
<c:out value="${Sale}"/>
<br />
</c:forEach>
</div>
<%@include file="../includes/footer_1.jsp" %>
现在所有生成的数据都显示在servlet本身中。我用Google搜索了一下,发现RequestDispatcher
不会更改网址。我没有关于url的任何问题,但servlet显示的页面没有格式化和css,也没有。
我该如何以正确的方式做到这一点?如何单击链接并生成servlet进程并使用正确的URL转到我期望的jsp?有人说我必须使用sendRedirect("someJSPFile")
。但在我的情况下如何?