Struts 2给出了一个奇怪的行为,即商业,productCategory对象没有在表单提交上设置。在某些情况下会发生这样的情况。其他字段设置正确
struts 2的大多数情况都是非常好地设置自定义对象,甚至是像对象中的List这样的复杂对象,但在这种情况下它会给出奇怪的行为。
有人可以帮忙吗。我可以调试struts 2代码来检查它为什么没有设置属性。如果可能的话让我知道步骤
Hibernate域对象:
public class Brand {
private Long id;
private String brandName;
private String brandDescription;
private Brand productSubCategory;
private ProductCategory productCategory;
private CommercialType commercial;
/* getters and setters */
}
JSP:
<s:select label = "Commercial Type"
name = "brand.commercial.id"
list = "#attr.masterData.commercialTypes"
listKey = "id"
listValue = "commercialType"
value = "%{brand.commercial.id}"
theme = "simple"
headerKey = ""
headerValue = "--Select--"
/>
答案 0 :(得分:0)
根据第一眼看答案
我在您发布的代码中未发现任何错误。但是根据它在开发模式中生成的错误,我的想法在这里漫游。
错误强>
Unexpected Exception caught setting 'brand.commercial.id' Error setting expression 'brand.commercial.id' with value ['1', ]
可能的原因
brand.commercial.id
在同一表格中的两个或多个地方用作名称变量。如果同一个变量在同一名称中设置了两次,那么struts会将其视为一个列表,使得这个'['1',],假设brand.commercial.id不是一个列表。
其他可能性是,某些列表值设置为整数值。