Struts 2使用JQuery网格访问类属性

Struts 2使用JQuery网格访问类属性,jquery,jsp,struts2,jqgrid,ognl,Jquery,Jsp,Struts2,Jqgrid,Ognl,我试图了解struts2 jQuery插件,更具体地说是struts2 jQuery网格插件。现在,我已经复制了开发人员提供的教程,我成功地在网格中显示了一个简单的类,如Customer(在他们的示例中),我可以从JSP中提到的网格中很好地引用它,并且工作得非常好: <sjg:grid id="gridtable" caption="Customer Examples" dataType="json" href="%{remoteurl}" pag

我试图了解
struts2 jQuery插件
,更具体地说是
struts2 jQuery网格插件
。现在,我已经复制了开发人员提供的教程,我成功地在网格中显示了一个简单的类,如
Customer
(在他们的示例中),我可以从
JSP
中提到的网格中很好地引用它,并且工作得非常好:

 <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内部的属性/字段呢?来自Struts2,在使用这个jQuery插件之前使用
标记,我一直在这样做,因为
JSP
中的网格接收到一个包含所有数据的JSON:

<sjg:gridColumn name="customer.city" index="city" title="City" sortable="false"/>

但当我的网格列显示为空时,它不起作用

另外,是否可以对显示的字段应用任何OGNL表达式?假设我想将列的内容大写,在我开始使用jQuery Grid之前,我可以通过对我显示的属性应用
.toUpperCase()
来管理它,但是现在使用这个插件我有点不知所措

更新

我已经能够确认可以使用我显示的符号访问“复杂”对象(使用其他“复杂”类测试)。所以我认为我的问题在于我的特定类的JSON生成(我没有写下这个类,所以我不会让问题变得更复杂)。。。我将尝试查看传递到网格的生成的JSON,并让您知道那里发生了什么

已解决:在JSON生成中发现一个空指针,所以我修复了它。问题就在那里。当@Andrea指出如何访问一个对象的内部对象时,我得到了公认的答案,这是我最初的问题(虽然我做得很好,但由于空指针问题而失败)

我现在如何访问Customer中的属性/字段,该属性/字段也位于Reservation中

正是你在做的事情。如果它不起作用,你就做错了

尝试将
索引更改为主对象,顺便说一句:

<sjg:gridColumn name="customer.city" index="customer" title="City" sortable="false"/>


并确保您有一个
列表
,确保您的所有对象(预订、客户、汽车等)(隐式或声明),以及每个getter和setter都正确声明。

感谢您的回复@Andrea。首先,我确保在执行操作时在gridModel中有一个列表,并且所有getter和setter都已放置。我也试着改变索引,但也没用。还检查了我没有忘记空构造函数,也没有忘记任何getter或setter。。。这很奇怪,因为我在同一个操作中测试这两个案例,首先只使用“简单”类,当我看到它正确显示所有数据时,我尝试切换到“复杂”类,但它没有显示任何内容:(可能在为网格生成JSON时出现了一些错误,我没有注意到,这可以解释为什么它没有显示任何内容。过去,我在使用JSON解析空值时遇到了一些问题(
Vehicle
In
Reservation
中的
可能为空).
我的gridModel中的列表
:|列表必须是模型本身,而不是它里面xd是的,为我生疏的英语感到抱歉,在我的行动中我有一个
列表gridModel
:P.再次道歉:)你能告诉我关于我的第二个小问题吗?我想知道是否可以将OGNL应用于网格中的任何数据行,例如,将字段大写,或者我是否必须在操作中更早地操作数据?。
<sjg:gridColumn name="customer.city" index="customer" title="City" sortable="false"/>