簡體   English   中英

Java:使用servlet刷新我的jsp

[英]Java: Refresh my jsp with the servlet

我正在我的jsp頁面上工作,我有一個帶有2個參數的鏈接:shop.jsp:

<a href="<c:url value="/boutique?achat=${module.id}&token=${module.token}" />" class=" modal-action modal-close waves-effect waves-green btn-flat">Oui</a>

所以我有2個,如果在我的servlet中,要處理兩個參數:shop.java:

public void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException
{
    httpServletRequest.setAttribute("page", "boutique");
    HttpSession session = httpServletRequest.getSession(true);
    int tokens = moduleDAO.getTokens(session.getAttribute("sessionPlayer"));
    List<Module> modules = moduleDAO.select();
    httpServletRequest.setAttribute("modules", modules);
    httpServletRequest.setAttribute("tokens", tokens);

    if(httpServletRequest.getParameter("achat") != null)
    {
        inventoryDAO.addInventory(session.getAttribute("sessionPlayer"), Integer.parseInt(httpServletRequest.getParameter("achat")));
    }

    if(httpServletRequest.getParameter("token") != null)
    {
        inventoryDAO.changeToken(session.getAttribute("sessionPlayer"), Integer.parseInt(httpServletRequest.getParameter("token"))); 
    }

    getServletContext().getRequestDispatcher("/WEB-INF/shop.jsp").forward(httpServletRequest, httpServletResponse);
}

但是我想用2個參數單擊lick后刷新頁面,因為在shop.jsp頁面中,我有一個值:$ {tokens},它不會刷新,因為當我單擊鏈接時,我仍然用2個參數發送。

那么,單擊鏈接后如何刷新頁面?

謝謝!

我做了:

if(httpServletRequest.getParameter("token") != null)
{
    inventoryDAO.changeToken(session.getAttribute("sessionPlayer"), Integer.parseInt(httpServletRequest.getParameter("token"))); 
    String referer = httpServletResponse.getHeader("/WEB-INF/boutique.jsp");
    httpServletResponse.sendRedirect(referer);
}

getServletContext().getRequestDispatcher("/WEB-INF/shop.jsp").forward(httpServletRequest, httpServletResponse);

但是我得到一個錯誤:響應得到后不能繼續使用

我在stackoverflow上發現了另一個問題,並添加了一個return ;:

if(httpServletRequest.getParameter("token") != null) {
inventoryDAO.changeToken(session.getAttribute("sessionPlayer"), Integer.parseInt(httpServletRequest.getParameter("token")));
httpServletResponse.sendRedirect("/galactium/boutique");
return;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM