繁体   English   中英

java中如何在Spring MVC Form中使用两个Modal Class属性

[英]How to use the two Modal Class attribute in a Spring MVC Form in java

新登记表

第 1 步:UserLoginDTO.java

private String userName;
private String password;

第 2 步:UserInfoDTO.java

private String firstName;
private String lastName;

第 3 步:导航到注册表

http://localhost:8080/Demo/navigate/customerRegisterForm

控制器 :

@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 步中,将两个模型类添加到模型映射中,并且在第 4中单独使用了modelAttribute="loginDto" 所以下面是错误被抛出。 org.springframework.beans.NotReadablePropertyException: Invalid property 'firstName' of bean class [com.pharmacy.dto.UserLoginDTO]我需要在视图部分使用两个模型类

添加一个新类 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM