Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我想使用SpringMVC框架将参数从主页传递到另一个页面?_Java_Spring - Fatal编程技术网

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";
    }