2013-07-31 32 views
0

我沒有實現使用Spring MVC控制器來模擬this tutorial如何使用Spring控制器填充一個jeasyui DataGrid

DataGrid未使用檢索到的Java/Spring控制器數據填充其行。我沒有複製我的entyre JSP,其代碼與上面的示例非常相似。

Spring「ControlTeste」如下負責從數據庫中檢索數據,構建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。

感謝您的幫助!

回答

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; 
    } 

我只是做了一些changings在我的控制方法(和我太更名)。