如何在 spring mvc 中获取表单值到控制器
how to get form values to controller in spring mvc
我试图从 jsp 获取表单值到 spring mvc 中的控制器,但我无法获取表单数据。
这是我的DTO(bean)
public class LoginDTO implements Serializable {
private Long id;
private String username;
private String password;
// setter and getter methods
}
和我的Jsp
<form class="form-signin" action="test" method="get" modelAttribute="userFormData">
<input type="text" class="form-control"
placeholder="Email" required autofocus>
<input type="password" class="form-control"
placeholder="Password" required>
<input class="btn btn-md btn-success btn-block"
type="submit" value="Signin">
</form>
和我的控制器
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result) {
System.out.println("Controller...");
System.out.println("=====> " + formData.getUsername());
System.out.println("=====> " + formData.getPassword());
}
为您的 JSP 页面上的控件添加名称。
<input type="text" name="username" ...>
<input type="password" name="password" ...>
让 spring 了解哪个表单控件值应该转到 LoginDTO
的哪个 属性
we can also use the springframework has given us a form tags.so that we can also use that but in that case you have to define your the input path same as the member varibale given in your class.
像这样
<form:form method="post" modelAttribute="userFormData">
<form:input path="username" />
<form:input path="password" />
Then in the controller you can write like this as you have written
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result)
如果您想在其他 jsp 页面和控制台上获得结果,请执行以下操作:
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result , Model model){
System.out.println("=====> " + formData.getUsername()); //this outputs username on console
System.out.println("=====> " + formData.getPassword()); //this outputs password on console
model.addAttribute("LoginDTO ", LoginDTO );
return "success"; //this is the return page where the username and password will be rendered as view
}
我试图从 jsp 获取表单值到 spring mvc 中的控制器,但我无法获取表单数据。
这是我的DTO(bean)
public class LoginDTO implements Serializable {
private Long id;
private String username;
private String password;
// setter and getter methods
}
和我的Jsp
<form class="form-signin" action="test" method="get" modelAttribute="userFormData">
<input type="text" class="form-control"
placeholder="Email" required autofocus>
<input type="password" class="form-control"
placeholder="Password" required>
<input class="btn btn-md btn-success btn-block"
type="submit" value="Signin">
</form>
和我的控制器
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result) {
System.out.println("Controller...");
System.out.println("=====> " + formData.getUsername());
System.out.println("=====> " + formData.getPassword());
}
为您的 JSP 页面上的控件添加名称。
<input type="text" name="username" ...>
<input type="password" name="password" ...>
让 spring 了解哪个表单控件值应该转到 LoginDTO
we can also use the springframework has given us a form tags.so that we can also use that but in that case you have to define your the input path same as the member varibale given in your class.
像这样
<form:form method="post" modelAttribute="userFormData">
<form:input path="username" />
<form:input path="password" />
Then in the controller you can write like this as you have written
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result)
如果您想在其他 jsp 页面和控制台上获得结果,请执行以下操作:
public String checkLogin(@ModelAttribute("userFormData") LoginDTO formData, BindingResult
result , Model model){
System.out.println("=====> " + formData.getUsername()); //this outputs username on console
System.out.println("=====> " + formData.getPassword()); //this outputs password on console
model.addAttribute("LoginDTO ", LoginDTO );
return "success"; //this is the return page where the username and password will be rendered as view
}