Posted on 2009-02-01 10:57
董锐 阅读(219)
评论(0) 编辑 收藏
22 |
<component id="aPersonSelect" type="PropertySelection"> |
23 |
<binding name="model" value="ognl:personSelectModel"/> |
24 |
<binding name="value" value="ognl:components.table.tableRow.aPerson"/> |
25 |
</component> |
ognl:OgnlException:source is null for getProperty(null, "aPerson")
错误描述:这是一个component中一个表A,还有一个表B,最初是表A显示,表B隐藏,显示没有问题,然后点击component中一个按钮,隐藏表A,显示表B,就出现这样的错误。
判断1:以为表A的数据源没有在Session保存,导致点击按钮重新装载页面时数据源为空,所以出现此错误,就将数据源改为session状态,还是有此错误
判断2:表A和表B是共用同一数据源,只是Column值有变化,修改为只用一个表,点击按钮时setColumn赋不同值,测试发现点击后表格内容没有变化,赋Column值失败
判断3:还是表A和表B,此次表A和表B使用不同数据源变量,点击按钮时表A数据表中内容选取部分赋给表B数据源,点击按钮,依然出现上述错误。
错误未解决:
待续。。。
-------------------------------------------
判断4:<td jwcid="aPersonColumnValue@Block"><span jwcid="aPersonSelect" /></td>
在.html文件中屏蔽此句,没有错误。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
终于找到错误原因了:
原来表A和表B的列名相同,都用了aPerson,所以当显示表B时,为表A所用的<td jwcid="
aPersonColumnValue@Block"><span jwcid="aPersonSelect" /></td>也为表B所用了,而表B的aPerson用的是:aPerson:aPerson.name,所以每次获取aPerson值都为空,修改表B的column为aPerson1:aPerson.name即成功!!
找了这么久,原来是这个错误,汗!!!!