RequestDispatcher不会更改URL

时间:2015-10-08 17:45:41

标签: java jsp servlets

我在这个主题中看到了网络上的多个问题,但我有一些困惑。在我的迷你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")。但在我的情况下如何?

0 个答案:

没有答案