Java 我想使用SpringMVC框架将参数从主页传递到另一个页面?
我已经为传递参数编写了一个代码,但是在登录页面中没有显示参数。有人能帮我吗?我的主页代码如下所示Java 我想使用SpringMVC框架将参数从主页传递到另一个页面?,java,spring,Java,Spring,我已经为传递参数编写了一个代码,但是在登录页面中没有显示参数。有人能帮我吗?我的主页代码如下所示 <h1> <form:form action="./loginPage" method="GET" > <input type ="text" value="abc" id="name"> <input type ="submit" value ="Login"> </form:form>
<h1>
<form:form action="./loginPage" method="GET" >
<input type ="text" value="abc" id="name">
<input type ="submit" value ="Login">
</form:form>
</h1>
显示参数的“我的登录”页面:
<h1>
Welcome to login Page
</h1>
<p>The value is:${name}</p>
欢迎登录页面
该值为:${name}
我认为该模型属于请求范围。收集输入时,您必须使用会话,有两种方法,我将在这里介绍两个选项:
@NotNull(message="Name is required")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}@RequestMapping(value="/login", method= { RequestMethod.POST } )
public String redirect(@ModelAttribute("LoginForm") @Valid LoginForm loginForm, BindingResult bindingResult, Model model) {
if(bindingResult.hasErrors()){
return "home";
}
model.addAttribute("name", loginForm.getName());
return "loginPage";
}
在JSP(使用引导类)中,您可以这样做,将表单对象绑定到表单元素,从而允许您将属性“name”绑定到输入字段
<form:form method="post"
commandName="loginForm"
action="/login"
role="form">
<form:errors path="name" id="name-errors" element="div" cssClass="alert alert-danger" />
<form:input path="name" cssClass="form-control" placeholder="Your name" />
<input type="submit" value="Submit" class="btn btn-primary" />
</form:form>
对于您试图做的事情,我建议您使用命令对象绑定方法。另外,如果您使用SpringMVC进行身份验证,您应该了解SpringSecurity。虽然配置可能有点令人沮丧,但它确实提供了处理身份验证和授权的标准方法
<form:form method="post"
commandName="loginForm"
action="/login"
role="form">
<form:errors path="name" id="name-errors" element="div" cssClass="alert alert-danger" />
<form:input path="name" cssClass="form-control" placeholder="Your name" />
<input type="submit" value="Submit" class="btn btn-primary" />
</form:form>
@RequestMapping(value = "/loginPage", method = RequestMethod.GET)
public String redirect(@RequestParam(value="name", required=false) String name, Model model) {
if(name == null || name.length() == 0) {
return "home";
}
model.addAttribute("name",name);
return "loginPage";
}