0

我没有实现使用 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。

感谢您的帮助!

4

1 回答 1

0

回答我的问题,也许有一天对某人有用:

    @RequestMapping(value = "/StatusLista")
    public @ResponseBody String teste(Status Status, 
                                        HttpSession httpSession, 
                                        HttpServletRequest req,
                                        HttpServletResponse res) throws IOException {
        Session sess = (Session) httpSession.getAttribute("hibSess");
        StatusDAO staDao = new StatusDAO(sess);
        List<Status> lista = staDao.findAll();

        Gson gson = new GsonBuilder().setDateFormat("dd-MM-yyyy").setPrettyPrinting().create();
        String gListStatus = gson.toJson(lista);
        return gListStatus;
    }

我刚刚对我的 Controller 方法进行了一些更改(我也更改了它的名称)。

于 2013-07-31T20:31:02.043 回答