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")
錯(cuò)誤描述:這是一個(gè)component中一個(gè)表A,還有一個(gè)表B,最初是表A顯示,表B隱藏,顯示沒(méi)有問(wèn)題,然后點(diǎn)擊component中一個(gè)按鈕,隱藏表A,顯示表B,就出現(xiàn)這樣的錯(cuò)誤。
判斷1:以為表A的數(shù)據(jù)源沒(méi)有在Session保存,導(dǎo)致點(diǎn)擊按鈕重新裝載頁(yè)面時(shí)數(shù)據(jù)源為空,所以出現(xiàn)此錯(cuò)誤,就將數(shù)據(jù)源改為session狀態(tài),還是有此錯(cuò)誤
判斷2:表A和表B是共用同一數(shù)據(jù)源,只是Column值有變化,修改為只用一個(gè)表,點(diǎn)擊按鈕時(shí)setColumn賦不同值,測(cè)試發(fā)現(xiàn)點(diǎn)擊后表格內(nèi)容沒(méi)有變化,賦Column值失敗
判斷3:還是表A和表B,此次表A和表B使用不同數(shù)據(jù)源變量,點(diǎn)擊按鈕時(shí)表A數(shù)據(jù)表中內(nèi)容選取部分賦給表B數(shù)據(jù)源,點(diǎn)擊按鈕,依然出現(xiàn)上述錯(cuò)誤。
錯(cuò)誤未解決:
待續(xù)。。。
-------------------------------------------
判斷4:<td jwcid="aPersonColumnValue@Block"><span jwcid="aPersonSelect" /></td>
在.html文件中屏蔽此句,沒(méi)有錯(cuò)誤。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
終于找到錯(cuò)誤原因了:
原來(lái)表A和表B的列名相同,都用了aPerson,所以當(dāng)顯示表B時(shí),為表A所用的<td jwcid="aPersonColumnValue@Block"><span jwcid="aPersonSelect" /></td>也為表B所用了,而表B的aPerson用的是:aPerson:aPerson.name,所以每次獲取aPerson值都為空,修改表B的column為aPerson1:aPerson.name即成功!!
找了這么久,原來(lái)是這個(gè)錯(cuò)誤,汗!!!!