[英]Error in Spring MVC - displaying a form with Modal attribute having a select item
[英]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 步:导航到注册表
控制器 :
@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.