farahm
farahm

Reputation: 1326

JSP form pass parameter

In my jsp I am calling a servlet:

<form method="GET" action ="${pageContext.request.contextPath}/CurrencyController?action=listCurrency">
    Currency code: <input type="text" name="currencyCode" id="currencyCode" /> 
    <br /> 
    <input type="submit" value="Search" />
</form>

But in my Servlet request.getParameter("action") is null. So how can I pass the action parameter?

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String action = request.getParameter("action");

    if (action.equalsIgnoreCase("delete")){
        String currencyCode = request.getParameter("currencyCode");
        ...    
    } else if (action.equalsIgnoreCase("edit")){
        String currencyCode = request.getParameter("currencyCode");
        ...
    } else if (action.equalsIgnoreCase("listCurrency")){
        request.setAttribute("currencies", dao.getCurrencyByCode(request.getParameter("currencyCode")));
    } else {
        forward = INSERT_OR_EDIT;
    }

    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);
}

Upvotes: 0

Views: 1025

Answers (1)

Alok Sinha
Alok Sinha

Reputation: 181

You can define another hidden parameter like this

<input name="action" type="hidden" 
value="${pageContext.request.contextPath}/CurrencyController? 
action=listCurrency" /> 

and then in servlet use the same code request.getParameter("action") to get its value.

Upvotes: 1

Related Questions