简体   繁体   中英

JSP Input value To Java Method -> HttpServletRequest gives NULL value

Hello Guys. I have simple Storage page whichs display all Products from DB. I setto each of them with Unique name to change the Amount of product . When i want to catch this value in Java method its returns me null . Can you help me what i need to do to corretly catching value's in this text inputs?

Controller:

@Controller
public class StoragePageController extends HttpServlet {

    @GET
    @RequestMapping(value = "/storage/subamount/{id}")
    public String substractTheAmountValue(@PathVariable("id") int id, Model model, HttpServletRequest request) {

        String amount_req = request.getParameter("amount_sub_" + id);
        System.out.println(amount_req);

        return null;
    }
}

JSP fragment:

<c:set var="licznik" value="${recordStartCounter }" />
<div align="center">
    <table width="1000" border="0" cellpadding="6" cellspacing="2">
        <c:forEach var="u" items="${productList }">
            <c:set var="licznik" value="${licznik+1}" />
            <tr onmouseover="changeTrBg(this)" onmouseout="defaultTrBg(this)">
                <td align="right"><c:out value="${licznik }" /></td>
                <td align="left"><c:out value="${u.description }" /></td>
                <td align="left"><c:out value="${u.amount }" /></td>
                <td align="center"><input type="text" name="amount_sub_${licznik}" id="amount_sub_${licznik}"></td>
                <td align="center"><input type="button" value="Substract the value" onclick="window.location.href='${pageContext.request.contextPath}/storage/subamount/${licznik}'"/></td>
            </tr>
        </c:forEach>
    </table>

You should be having your API controller like the one given below given that your UI is posting the data to your API / Controller (assuming you are using the latest version of Spring Boot). You have a @Get mapping which does not accept request payload in the body.

@RestController
public class StoragePageController  {

@PostMapping(value = "/storage/subamount/{id}", produces = {"application/json"})
    public String substractTheAmountValue(@PathVariable("id") int id, Model model) {

        String amount_req = id;
        System.out.println(amount_req);

        return null;
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM