Struts 2没有在表单提交上设置动作属性。捕获到意外的异常。错误设置表达式的值为[' 1',]

时间:2014-02-04 14:04:28

标签: hibernate struts2 struts ognl

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--" 
/>

1 个答案:

答案 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不是一个列表。

其他可能性是,某些列表值设置为整数值。