当使用带有Grails的extJS时,如何在httpProxy url中提及操作

时间:2010-10-19 05:31:35

标签: grails extjs

我正在尝试将我的Grails应用程序与extJS整合在一起。 下面是我的edit.gsp文件中的代码。

<%@ page import =“tune.Music”%>                                                      

       <script type="text/javascript"> 

       var ds = new Ext.data.Store({
           autoLoad: true,
           proxy: new Ext.data.HttpProxy({
           url: 'http://localhost:8080/tune/music/listData'}),
           reader: new Ext.data.JsonReader({
            results: 'total',
            root:'items',
            id:'id'
           },
           [
                   {name: 'playerId'},
                   {name: 'playerPrice'}

              ]
           )
        });

        var cm = new Ext.grid.ColumnModel([
            {header: "Player Id", width: 70, sortable:true,  dataIndex: 'playerId'},
            {header: "Player Price", width: 90, dataIndex: 'playerPrice'}


        ]);
        //cm.defaultSortable = true;

        // create the grid
        var grid = new Ext.grid.GridPanel({
            ds: ds,
            cm: cm,
            renderTo:'grid-example',
            width:1300,
            height:300
        });
                </script>



</head>
<body>

    <div class="body">
    <!--<g:javascript library="examples"/>-->
    <!-- EXAMPLES -->
    <h1>Ext Grid</h1>



     <div id="grid-example"></div>


    </div>

</body>

我的控制器操作:

def list = { }

def listData = {def session = sessionFactory.getCurrentSession()  def result = session.createSQLQuery(“从w.music中选择player_id,其中player_id =('530AS')”)。list();  def tuneInstanceList = new ArrayList()  result.each  {def tune = new Tune()   tune.playerId =它  tune.playerPrice =“100”  tuneInstanceList.add(tune)} def listResult = [total:tunInstanceList.size(),items:tunInstanceList] 将listResult渲染为JSON; }

以上代码适合我。

但是,这适用于我的开发环境。 如果我在另一个环境中运行它,它不起作用,因为我在这里硬编码的URL viz url:'http:// localhost:8080 / tune / music / listData'。

其中一个选项是使用gsparse。但是,如果可能的话,我想在这里提一个相对的urlPath。 如何替换我的urlPath,以便即使在其他环境中也可以调用正确的操作。

谢谢!

1 个答案:

答案 0 :(得分:1)

将Http Proxy网址替换为

url:'/ tune / music / list Data'并且有效。

谢谢!