我没有实现使用 Spring MVC 控制器模仿本教程。
DataGrid 未使用检索到的 Java/Spring 控制器数据填充其行。我没有复制我的整个 JSP,它的代码与上面示例中的代码非常相似。
下面的 Spring“ControlTeste”负责从 DB 中检索数据,构建 Json 字符串(使用 Gson)并将其作为响应发送。在本教程中,此任务是使用 PHP 完成的(直接从视图中,没有“控制器”层)。
@RequestMapping(value = "/ControlTeste", method = RequestMethod.GET)
public @ResponseBody String teste(Status Status, HttpSession httpSession) {
Gson gson = new GsonBuilder().setDateFormat("dd-MM-yyyy").setPrettyPrinting().create();
Session sess = (Session) httpSession.getAttribute("hibSess");
StatusDAO staDao = new StatusDAO(sess);
List<Status> lista = staDao.findAll();
String gStatus = new String();
try{
gStatus = gson.toJson(lista);
System.out.println(gStatus);
}
catch(Exception e){
e.printStackTrace();
}
return gStatus;
}
生成的Json是:
{
"id": 2,
"descricao": "Novo Status",
"sigla": "STA",
"estadoFinal": true,
"erro": true
}
DataGrid 的配置(在 JSP 中)是:
<script type="text/javascript">
$('#dg').edatagrid({
url: 'ControlTeste',
saveUrl: 'StatusCreate',
updateUrl: 'StatusUpdate',
destroyUrl: 'StatusDelete'
});
<table id="dg" title="Cadastro de Status" class="easyui-datagrid"
style="width: 700px; height: 250px" url="ControlTeste"
toolbar="#toolbar" pagination="true" rownumbers="true"
fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="id" width="20">ID</th>
<th field="sigla" width="40">Sigla</th>
<th field="descricao" width="50">Descrição</th>
<th field="erro" width="30">Erro?</th>
<th field="estadoFinal" width="30">Estado Final?</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="javascript:void(0)" class="easyui-linkbutton"
iconCls="icon-add" plain="true" onclick="novo()">Novo</a> <a
href="javascript:void(0)" class="easyui-linkbutton"
iconCls="icon-edit" plain="true" onclick="editar()">Editar</a> <a
href="javascript:void(0)" class="easyui-linkbutton"
iconCls="icon-remove" plain="true" onclick="remover()">Remover</a>
</div>
现在我只对“ControlTeste”控制器感兴趣,因为它负责检索数据以填充 DataGrid。
感谢您的帮助!