Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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中的Spring MVC表单中使用双模态类属性 新登记表格_Java_Spring_Spring Mvc - Fatal编程技术网

如何在java中的Spring MVC表单中使用双模态类属性 新登记表格

如何在java中的Spring MVC表单中使用双模态类属性 新登记表格,java,spring,spring-mvc,Java,Spring,Spring Mvc,步骤1:UserLoginDTO.java private String userName; private String password; private String firstName; private String lastName; 步骤2:UserInfoDTO.java private String userName; private String password; private String firstName; private String lastName; 步

步骤1:UserLoginDTO.java

private String userName;
private String password;
private String firstName;
private String lastName;
步骤2:UserInfoDTO.java

private String userName;
private String password;
private String firstName;
private String lastName;
步骤3:导航到注册表

控制器:

@Controller
@RequestMapping("/navigate")
public class NavigationController {

    @RequestMapping("/customerRegisterForm")
    public String customerRegisterForm(Map modelmap) {
        System.out.println("Entering the New Customer Registarion Portal... ");
        UserInfoDTO infoDto = new UserInfoDTO();
        UserLoginDTO loginDto = new UserLoginDTO();
        modelmap.put("infoDto", infoDto);
        modelmap.put("loginDto", loginDto);
        return "customer/newCustomer";
    }

}
步骤4:newCustomer.jsp

<form:form method="post" modelAttribute="loginDto">

<form:input path="userName"/>
<form:input path="password"/>
<form:input path="firstName"/>
<form:input path="lastName"/>

<input type="submit" value="Add Employee"/>


</form:form>

注意:在步骤3中,将两个模型类添加到modelmap中,在步骤4中,单独使用modeldattribute=“loginDto”。下面是抛出的错误org.springframework.beans.NotReadablePropertyException:bean类[com.pharmacy.dto.UserLoginDTO]的属性“firstName”无效。我需要在视图部分使用这两个模型类


添加一个新的类FormDto,将两个现有模型作为属性

public class FormDto {
    private UserLoginDto loginDto;
    private UserInfoDto infoDto;

    //......add getter/setter 
}
修改控制器以将FormDto作为modelAttribute发送

@RequestMapping("/customerRegisterForm") 
public String customerRegisterForm(Map modelmap) {
    System.out.println("Entering the New Customer Registarion Portal... ");
    FormDto formDto = new FormDto();
    modelmap.put("formDto", formDto);
    return "customer/newCustomer"; 
}
最后,更改表单属性

<form:form method="post" modelAttribute="formDto">
    <form:input path="loginDto.userName"/>
    <form:input path="loginDto.password"/>
    <form:input path="infoDto.firstName"/>
    <form:input path="infoDto.lastName"/>
    <input type="submit" value="Add Employee"/>
</form:form>


要想得到答案,你应该更准确地说明你想要什么,你的代码阻止了什么步骤等等。我是新来的,我已经编辑了这篇文章,你能说清楚还是不清楚吗。。非常感谢。