проблема загрузки значений в мою сетку extjs с помощью json - PullRequest
0 голосов
/ 15 марта 2011

Я загружаю значения, поступающие из базы данных через объект json, используя структуры java, но значения не заполняются в моей сетке extjs: я продолжаю получать пустую сетку.

Я включил свой код ниже.

home.jsp

На этой странице будет кнопка.По нажатию должен прийти getvalues.jsp.В getvalues.jsp должна быть представлена ​​extgrid с содержимым из базы данных

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
    </head>
    <body>
        <form action="getvalues.do">
            <input type="submit"></input>
        </form>
    </body>
</html>

Ниже приведен мой Java-код.Я заполняю объект JSON значениями из моей базы данных.

public class Json extends Action {
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        // TODO Auto-generated method stub
        ArrayList<Employee> emp=new ArrayList<Employee>();
        Myservice serve=new Myservice();
        emp=serve.getemployeesservice();
        Iterator<Employee> empitr=emp.iterator();
        JSONArray json=new JSONArray();
        JSONObject JSONobj=new JSONObject();
        while(empitr.hasNext()){
            JSONObject jobj=new JSONObject();
            Employee empl=new Employee();
            empl=empitr.next();
            jobj.put("empid",empl.getEmpid());
            jobj.put("empname",empl.getEmpname());
            json.add(jobj);
        }
        JSONobj.put("employee",json);
        System.out.println(JSONobj.toString());
        return mapping.findForward("success");
    }
}

getvalues.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
        <link rel="stylesheet" type="text/css" href="css/ext-all.css"> 
        <script type="text/javascript" src="js/ext-base.js"></script>
        <script type="text/javascript" src="js/ext-all.js"></script>
        <script type="text/javascript">
        Ext.onReady(function() {
            var store=new Ext.data.JsonStore({
                proxy:new Ext.data.HttpProxy({
                    url:'http://localhost:8080/JsonExample/getvalues.do'
                }),
                reader:new Ext.data.JsonReader({
                    root:'employee',
                    fields:['empid','empname']
                })
            });

            store.load();
            var recs=store.getRange();
            alert(recs.length);

            var grid = new Ext.grid.GridPanel({
                title:'employee information',
                columns: [{
                   header:"employeeid",
                   width:100,
                   dataIndex:'empid',
                   sortable:true
                },{ 
                    header:"employeename",
                    width:100,
                    dataIndex:'empname',
                    sortable:true
                }],
                store: store,
                width:300,
                height:300,
                renderTo:Ext.getBody()
            }); 
        });
        </script>
    </head>
    <body>
        hi
    </body>
</html>

Но значения по какой-то причине не заполняются,Пожалуйста, помогите мне решить эту проблему.

Заранее спасибо!

1 Ответ

0 голосов
/ 18 марта 2011

Я плохо разбираюсь в Java.Но, я подозреваю, ваш список JSON не отправляется клиенту, вы просто печатаете, но не включаете его в ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...