posts - 48, comments - 13, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

奇怪的问题

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即成功!!
找了这么久,原来是这个错误,汗!!!!

只有注册用户登录后才能发表评论。


网站导航: