您好我正在我的JSP中创建一个类似于下面的网格
<sjg:grid gridModel="gridModel"
---- other options -- >
</sjg:grid>
在我的struts.xml中
我正在给出这个动作序列
<action name = "jsonAction" calss == "Action class" method = "methodName" >
<interceptor-ref name="modelDriven" />
<interceptor-ref name="basicStack" />
<result name="success" type="json" >
</result>
</action>
我的行动类
public myClass extends ActionSupport implements ModelDriven<BeanClass>
{
//My list haveing getters and setters
public gridModel getGridModel()
{
return gridModel;
}
public void setGridModel(List gridModel)
{
this.gridModel = gridModel;
}
public String methodName()
{
//code here to get the list
}
public BeanClass getModel()
{
return new BeanClass();
}
}
我怀疑的是,当我不使用ModelDriven
拦截器时我可以构建网格..如果使用我无法绑定jqGrid中的列表..
我确实谷歌问题但是我找不到合适的解决方案..据我所知,当使用ModelDriven
拦截器时会发生问题..这个拦截器会将动作对象保持在{{1 }}
即使我尝试使用ValueStack
但没有运气..
请有人帮忙
Thnx提前
编辑 - 1
[1].top
我刚刚做了你所说的我需要在 I am implementing ModelDrive Interface as you said I am missing some specialization I think I have done what you said but still no luck. Dont know where i am missing.
Stil无法获取GRID中的数据
答案 0 :(得分:2)
即使我尝试使用[1] .top但没有运气..
top
引用堆栈顶部的对象。 [1].top
通过索引1在堆栈中引用top
对象。在第一种情况下,它是在堆栈上推送的模型,在第二种情况下,它是在创建后在堆栈上推送的动作bean。我猜第二个包含在操作返回json
结果时提供给网格所需的属性。这些属性在json结果的include参数中提供。您的操作是通过ModelDriven
接口实现的,但具有错误的专业化。如果您的action bean包含应该序列化为JSON的属性,那么该模型应该是action bean。如果你编写像
public MyClass extends ActionSupport implements ModelDriven
{
//My list haveing getters and setters
public String methodName()
{
//code here to get the list
}
@Override
public Object getModel()
{
return this;
}
}