jsp - 使用 ModelDriven Interceptor 请求参数未映射到 struts 2 中的模型类
问题描述
在 JSP 中将表单提交给 struts 2 动作类时,ModelDriven 对象没有被正确创建。只有一些字段被填充而不是其他字段。
下面是使用 post 方法提交给 Action 类的参数:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.vendor.vendorName:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.vendor.number: 10065
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.vendor.vendorDeptNumber: 0
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.masterVendor.vendorName: 10064
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.masterVendor.number:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.masterVendor.vendorDeptNumber:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityName:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityNumber: 5023
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityBUID:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.isValid: true
模型对象:
import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
import java.util.logging.Logger;
public class OrderDaysForm {
private Map<String, OrderDayDisplay> orderDaysMap = null;
public Map<String, OrderDayDisplay> getOrderDaysMap() {
return orderDaysMap;
}
public void setOrderDaysMap(Map<String, OrderDayDisplay> orderDaysMap)
{
this.orderDaysMap = orderDaysMap;
}
}
public class OrderDayDisplay implements Exportable, java.io.Serializable {
private static final long serialVersionUID = 20070403092401L;
private Map<String, OrderDayRecord> orderDayMap;
public Map<String, OrderDayRecord> getOrderDayMap() {
return orderDayMap;
}
public void setOrderDayMap(Map<String, OrderDayRecord> m) {
this.orderDayMap = m;
}
}
public class OrderDayRecord extends OrderDay implements Exportable {
private static final long serialVersionUID = 20070403105701L;
}
public class OrderDay implements java.io.Serializable {
private static final long serialVersionUID = 20070202142501L;
private VendorFacility facility;
}
OrderDayRecord 类中未填充与以下请求参数对应的 VendorFacility 对象:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityName:
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityNumber: 5023
orderDaysMap['10065A5023'].orderDayMap['100655023299912319901566237468850'].facility.facility.facilityBUID:
解决方案
推荐阅读
- avplayer - 如何开始在后台播放 AVPlayer 的音轨?
- android - Duolingo 的 RTL ViewPager 覆盖 TabLayout 字体
- c - 我在数组中的指针无法正常工作
- python - 命令出错,退出状态为 1
- javascript - 如何让 React 项目中的 Emotion 样式组件与 TypeScript 一起使用?
- c# - 如何在 .NET Core 中加密 App.config 文件?
- c - 在 C 中不需要使用 printf 的 fflush(stdout) 吗?
- c# - mdf 文件的 ASP.NET 连接字符串不起作用
- css - 如何在css动画中显示transitionDuration?
- java - java:调用接口类型是什么意思?