如何在java中的Spring MVC表单中使用双模态类属性 新登记表格
步骤1:UserLoginDTO.java如何在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; 步
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>
要想得到答案,你应该更准确地说明你想要什么,你的代码阻止了什么步骤等等。我是新来的,我已经编辑了这篇文章,你能说清楚还是不清楚吗。。非常感谢。