【问题标题】:Different ways to fetch hidden value from JSP从 JSP 中获取隐藏值的不同方法
【发布时间】:2017-05-27 15:50:31
【问题描述】:

您好,我需要将表单中的隐藏值之一获取到我的控制器。我怎么才能得到它。请在下面找到我的代码。我需要在我的控制器中获取隐藏值的值`

@RequestMapping("/submitAdmissionForm.html",method = RequestMethod.POST)
public ModelAndView submitAdmissionForm(@RequestParam("studentName") String name, @RequestParam("studentHobby") String hobby) {

    ModelAndView model = new ModelAndView("AdmissionSuccess");
    model.addObject("msg","Details submitted by you:: Name: "+name+ ", Hobby: " + hobby);

    return model;
}

`

JSP 页面

<html>
<body>
	<h1> STUDENT ADMISSION FORM FOR ENGINEERING COURSES</h1>

	<form action="/submitAdmissionForm.html" method="post">
		<p>
			Student's Name : <input type="text" name="studentName" />
		</p>
		<p>
			Student's Hobby : <input type="text" name="studentHobby" />
		</p>
			<input type="hidden" id="Student" value="Sree" />
		<input type="submit" value="Submit this form by clicking here" />
	</form>
 
</body>
</html>

【问题讨论】:

  • 隐藏输入与任何其他输入一样。获取studentName 的相同方式可用于检索Sree 的值。
  • 只需在您的输入中添加名称属性,例如: 之后你可以用同样的方式处理它你像另一个参数一样申请

标签: javascript java spring jsp spring-mvc


【解决方案1】:

你的隐藏字段没有name属性,所以不能提交。

您可以执行以下操作。

A.替换这个

<input type="hidden" id="Student" value="Sree" />

<input type="hidden" id="Student" name="Student" value="Sree" />

B.向控制器方法添加一个新参数:

@RequestParam("Student") String hiddenStudent

它将包含该隐藏字段的提交值。

【讨论】:

    【解决方案2】:

    只需要在输入中添加 name 属性,这也是相同的方式,但使用 Spring(更清洁):

    //Send to form
    @GetMapping("/StudentForm")
    public String studentForm(Model model) {
    
       model.addAttribute("student", new Student());
    
        return "student-form";
    }
    

    Jsp页面:

    <form:form method="POST" modelAttribute="student" action="/submitAdmissionForm.html">
        <table>
            <tr>
                <td>Name: <form:input path="studentName" /></td>
            </tr>
            <tr>
                <td>Hobby: <form:input path="studentHobby" /></td>
            </tr>
            <tr>//for example there another student property but it will be hidden
                <td><form:hidden path="studentNickname" value="${Sree}" /></td>
            </tr>
            <tr>
                <td><input type="submit" /></td>
            </tr>
        </table>
    </form:form>
    

    弹簧控制器:

    @PostMapping("/submitAdmissionForm.html")
    public String submitAdmissionForm(@ModelAttribute("student") Student student, Model model) {
          if(studen != null) {
               model.addObject("msg","Details submitted by you:: Name:"+student.getName()+ ", Hobby: " + student.getHobby() + "Nickname :" + student.getNickname());
          }
        return "success-form";
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2014-04-10
      • 2013-12-30
      • 2019-11-01
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      相关资源
      最近更新 更多