我正試圖瞭解struts2-jQuery-plugin
,更具體地說是struts2-jQuery-grid-plugin
。現在我已經複製了開發人員提供的教程HERE.我已經成功地在網格內顯示了一個簡單的類,例如Customer
(在他們的示例中),我可以從JSP
中提到的網格中很好地參考,完美的罰款:使用JQuery Grid訪問類屬性的Struts 2
<sjg:grid
id="gridtable"
caption="Customer Examples"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="gridModel"
rowList="10,15,20"
rowNum="15"
rownumbers="true">
<sjg:gridColumn name="id" index="id" title="ID" formatter="integer" sortable="false"/>
<sjg:gridColumn name="name" index="name" title="Name" sortable="true"/>
<sjg:gridColumn name="country" index="country" title="Country" sortable="false"/>
<sjg:gridColumn name="city" index="city" title="City" sortable="false"/>
<sjg:gridColumn name="creditLimit" index="creditLimit" title="Credit Limit" formatter="currency" sortable="false"/>
</sjg:grid>
但事情開始變得複雜時,我嘗試使用不是這個簡單的Customer
類,但另從我自己的,例如假設類Reservation
(我張貼的例子,因爲我不想複雜化問題與我自己的項目代碼):
public class Reservation {
private Customer customer;
private Car vehicle;
public setCustomer(Customer customer){
this.customer = customer;
}
public setCar(Car vehicle){
this.vehicle = vehicle;
}
}
所以我如何訪問客戶內部的屬性/字段,這也屬於保留內部?從Struts2的產品和使用<s:property />
標籤使用此jQuery插件之前,我一直在嘗試這樣做是這樣,作爲JSP
內部電網接收包含所有數據的JSON:
<sjg:gridColumn name="customer.city" index="city" title="City" sortable="false"/>
但它不工作因爲我的網格列顯示爲空。
還有是否可以將任何OGNL表達式應用於顯示的字段?假設我想在開始使用jQuery Grid之前將大寫字母的內容大寫,我可以通過將.toUpperCase()
應用於我顯示的屬性來管理此內容,但現在使用此插件我有點迷路了。
UPDATE
我已經能夠證實,它可能利用我所顯示的符號訪問「複雜」的對象(與其他「複雜」類測試)。所以我認爲我的問題存在於我的特定類的JSON一代(我沒有寫下來,所以我不會讓問題更復雜)......我會嘗試看看生成的JSON傳遞到網格並讓你知道發生了什麼。
已解決:在JSON代中發現了一個空指針,所以我就修正了它。問題出現在那裏。 @Andrea指出如何訪問一個對象的內部對象,這是我的第一個問題(雖然我正確地做了,但由於空指針問題失敗),所以我接受了答案。
感謝您的回覆@Andrea。 首先,我確保在執行動作時我的GridModel中有一個List,並且放置所有getter和setter。 我也嘗試改變索引,但它也沒有工作。也檢查了我沒有忘記空的構造函數,也沒有任何getters或setter ...這很奇怪,因爲我在兩個case的同一個動作中進行測試,首先使用「簡單」類,當我看到它正確顯示所有數據,我嘗試切換到「複雜」類,但它沒有顯示任何東西.. :( –
JorgeGRC
2014-12-02 15:47:16
也許有一些錯誤,而爲網格生成JSON,我沒有注意到它,這將解釋爲什麼它不顯示任何東西。過去,我用JSON解析了一些空值的問題('''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''') – JorgeGRC 2014-12-02 15:51:30
'my List我的gridModel':|列表必須是模型本身, –
2014-12-02 15:52:47