Java 如何从Spring表单将参数传递给@RequestParam?

Java 如何从Spring表单将参数传递给@RequestParam?,java,spring,jsp,spring-form,Java,Spring,Jsp,Spring Form,获得了一个SpringMVC应用程序,两个实体-Player和PlayerDetails,希望将PlayerDetails添加到现有播放器中,但要这样做,我需要通过参数传递一个播放器id。 但我无法从JSP页面传递参数,因为我使用的是Spring表单。仍在获取所需的字符串参数“playerId”不存在“。 我已经在JSP页面上获得了该值,但问题是通过表单将其传递给方法。 当我从方法中删除@RequestParam,并在方法中硬编码“theInt2”时,一切都正常 PlayerDetailsCon

获得了一个SpringMVC应用程序,两个实体-Player和PlayerDetails,希望将PlayerDetails添加到现有播放器中,但要这样做,我需要通过参数传递一个播放器id。 但我无法从JSP页面传递参数,因为我使用的是Spring表单。仍在获取所需的字符串参数“playerId”不存在“。 我已经在JSP页面上获得了该值,但问题是通过表单将其传递给方法。 当我从方法中删除@RequestParam,并在方法中硬编码“theInt2”时,一切都正常

PlayerDetailsController.class

  @PostMapping("/savePlayerDetails")
    public String savePlayerDetails(@RequestParam("playerId") String theInt,
                    @ModelAttribute("details") PlayerDetails playerDetails){

     int theInt2 = Integer.parseInt(theInt);

     playerDetailsService.savePlayerDetails(theInt2, playerDetails);

     return "redirect:/players/list";
    }
details-form.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<form:form action="savePlayerDetails" modelAttribute="details" method="POST">

    <form:hidden path="id"/>
    Date of birth: <form:input path="dateOfBirth"/>
    Email: <form:input path="email"/>
    Preferred Foot: <form:input path="preferredFoot"/>
    Short info: <form:input path="shortInfo"/>
    <br><br>
    ${player.playerId}  <!-- just for test, player id is shown here -->

<input type="submit" value="Save" class="save" />
</form:form>

出生日期:
电邮:
首选脚:
简短信息:


${player.playerId}
您没有从表单中传递
playerId
,请向表单中添加另一个输入,如下所示

<input type="hidden" name="playerId" value="${player.playerId}"/>



也应该工作

将某些内容打印到屏幕与将其作为表单的一部分并不相同。要知道,打印它只是为了检查是否已将其传递到JSP页面。使用该解决方案解决。谢谢
<form:hidden path="playerId"/>