我有一个jsp我正在使用jqGrid。 List正在填充所有值完全正常。但在列标题中我试图使用下拉列表。
即
{name:'Age',index:'age',width:120,hidden:false,search:true,edittype:'select',editoptions:{dataUrl:'/getAge'}},
我有一个控制器,我有一个像下面这样的方法。
@RequestMapping({"/getAge"})
public @ResponseBody String getAge(){
// some blah blah
}
请注意,这个jqGrid位于一个jsp中,当某个特定URL被命中时会被渲染,为此我在不同的类中有单独的控制器。由于这个独立的控制器,jqGrid中的数据会被填充。
问题 - 为什么我的方法getAge()在页面渲染时没有被调用。
但是,如果我编辑我的网址并点击http://localhost:3080/getAge
,则会调用此方法getAge(),我只会在页面上看到正确值的下拉列表。
有什么想法吗?
答案 0 :(得分:0)
我找到了另一种方法,可以使用以下方法在jqGrid的标题中获取填充的下拉列表。
JSP代码: -
{name:'Age',index:'age',width:120,hidden:false,search:true,stype:'select',searchoptions:{value:'${age}'}},
在java代码中,我修改了我的方法,该方法负责获取jsp,其中我有我的jqGrid代码。
Java Code-
@RequestMapping({"/appPage.html"})
public ModelAndView showAppPage(HttpServletRequest request,
HttpServletResponse response) {
String age = getStatuses(request); // This method call DB, get the data and add it into one stringbuffer and return.
ModelAndView model = new ModelAndView("browse");
model.addObject("age", age);
return model;
}