2013-07-31 1 views
0

스프링 MVC 컨트롤러를 사용하여 this tutorial을 mimetize 할 수 없습니다.스프링 컨트롤러로 jeasyui DataGrid를 채우는 방법

DataGrid에서 Java/Spring Controller 데이터를 검색하여 해당 행을 채우지 않습니다. 나는 위의 예와 비슷한 코드를 가진 내 entyre JSP를 재현하지 않는다.

다음 "Spring"ControlTeste는 DB에서 데이터를 검색하고, Gson을 사용하여 Json 문자열을 작성한 다음이를 응답으로 보냅니다. 튜토리얼에서이 작업은 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 
    } 

그리고 (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

아마 언젠가 SB에 유용한 것, 내 질문에 대한 응답 :

@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을했던 (그리고 나도 그 이름을 변경했습니다).

관련 문제