Servlets jqGrid:数据URL不工作

Servlets jqGrid:数据URL不工作,servlets,select,jqgrid,population,Servlets,Select,Jqgrid,Population,我对jQuery和jQGrid都是新手。我试图用来自服务器的数据填充网格中的下拉组合框,我在JavaServlet环境中。 我使用了dataUrl方法和许多其他方法,但仍然没有填充combo的运气 我的js看起来像: ... {name:'idTipologia',index:'idTipologia', width:80,editable: true,edittype:"select",editoptions:{dataUrl: "/sohara/comboTipologiaAction.do

我对jQuery和jQGrid都是新手。我试图用来自服务器的数据填充网格中的下拉组合框,我在JavaServlet环境中。 我使用了dataUrl方法和许多其他方法,但仍然没有填充combo的运气

我的js看起来像:

...
{name:'idTipologia',index:'idTipologia', width:80,editable: true,edittype:"select",editoptions:{dataUrl: "/sohara/comboTipologiaAction.do"}...
...
我的服务器端代码基本上是: 从服务器获取列表,格式化数据(无论是否为json),打开PrintWriter,在其中写入信息

我尝试了JSON转换和Firebug的纯文本,我可以看到格式正确的响应(“1:VALUE1;2:VALUE2”),但下拉列表仍然为空

我的问题是:

是否有一种特殊的方式来组织数据,以使这个组合人口

谢谢你的帮助

根据,您的问题是
dataUrl
需要返回包含
SELECT
元素的HTML,而不是JSON:

editoptions dataUrl参数仅对edittype:select的元素有效。dataUrl参数表示应从中获取html select元素的url

设置此选项后,元素将填充来自AJAX请求的值。数据应该是一个有效的HTML select元素,具有所需的选项,例如:

<select> 
<option value='1'>One</option> 
<option value='2'>Two</option> 
...
</select>

一个
两个
...
因此,最简单的解决方案是只返回HTML


也就是说,我不喜欢直接返回UI元素的想法。另一个选项是使用
buildSelect
函数为您构建
SELECT
元素:

仅当设置了dataUrl参数时,此选项才相关。当服务器响应无法构建select元素时,可以使用自己的函数来构建select元素。函数应返回一个字符串,其中包含dataUrl选项中描述的select和options值。传递给此函数的参数是服务器响应

提供如何使用
buildSelect
的示例