0

I'm developing a breadcrumb on my website, I use following code in my jsp:

<form action="envelope">
                <input type="hidden" id="id" name="id" value="">
                <input type="hidden" name="q" value="${fn:escapeXml(param.q)}">
                <button type="submit" id="back" class="btn btn-sm btn-primary">
                    <span class="fa fa-chevron-left"></span> Back
                </button>
                <ol class="breadcrumb">
                  <li id="file"><a href="envelope.jsp?id=${envLev0}">File</a></li>
                  <li id="format"><a href="envelope.jsp?id=${envLev1}">Format</a></li>
                  <li id="batch"><a href="envelope.jsp?id=${envLev2}">Batch</a></li>
                  <li id="payment" class="active">Payment</li>
                </ol>
            </form>

I use following code to resolve my parameters in my DetailsControllerServlet:

 @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String index = request.getParameter(FIELD_INDEX);
        String type = request.getParameter(FIELD_TYPE);
        String id = request.getParameter(FIELD_ID);

        Map<String, Object> map = searchDetails(index, id);
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if(FIELD_BUSINESS_DATA.equals(key)) {
                value = XML_UTILS.toHtml((String)value);
            }
            request.setAttribute(key, value);
            if(LOGGER.isDebugEnabled()) {
                LOGGER.debug("Added '" + key + "'='" + value + "' to the request.");
            }
        }
        request.setAttribute(FIELD_INDEX, index);
        request.setAttribute(FIELD_ID, id);


        String detailsPage;
        switch (type) {
            case "FileEnvelope":
            case "FormatEnvelope":
            case "BatchEnvelope":
                detailsPage = ENVELOPE_JSP;
                break;
            case "Payment":
                detailsPage = PAYMENT_JSP;
                request.setAttribute("envLev0", 1);
                request.setAttribute("envLev1", 2);
                request.setAttribute("envLev2", 3);
                 break;
            default:
                detailsPage = DETAILS_JSP;
        }
        getServletContext().getRequestDispatcher(detailsPage).forward(request, response);
    }

When I choose a payment as type,I'm navigated to the payment screen, the ID is resolved, but the envelope levels are not. What is going wrong?

KeinHappyAuer
  • 173
  • 1
  • 1
  • 9

1 Answers1

0

I think the problem lies in your detailsPage. Are you using request.getParameter() or request.getAttribute(). You should be using the later.

Cooki3Tube
  • 107
  • 1
  • 10