【问题标题】:Send data from extjs popup window to spring controller将数据从 extjs 弹出窗口发送到 spring 控制器
【发布时间】:2015-05-13 07:23:55
【问题描述】:

我有一个带有表单面板的 extjs 弹出窗口,我想知道如何将表单面板中的数据发送到我的 spring 控制器?

var formPanel =  {
    xtype       : 'form',
    height      : 125,
    autoScroll  : true,
    id          : 'formpanel',
    defaultType : 'field',
    frame       : true,
    items       : [
        {
            fieldLabel : 'Name'
        },
        {
            fieldLabel : 'Age'
        }
    ]
};

function openIFrame() {
 Ext.create('Ext.window.Window', {
    title : 'Import your devices',
    width: 500,
    height: 500,
    layout: 'fit',
    items: [formPanel]
}).show();

}

【问题讨论】:

  • @zan 我添加了我的代码,我将创建一个“提交”按钮来发送表单,但我不确定是否可以在我的 spring 控制器中发送和恢复数据
  • “不确定”?您是否真的尝试过在 Spring 控制器中处理请求?它奏效了吗?如果不是,为什么?
  • @JeromeCampeaux 我的回答对你有用吗?
  • @JamesSchermann 谢谢你的回复,我终于用另一种方式来做我的事情了;)也许它会在未来帮助我:)

标签: spring forms extjs controller


【解决方案1】:

通过控制器中的一些选择器获取表单,然后调用getForm().getValues() 方法。方法返回一个由表单字段及其值组成的对象。

然后您可以使用Ext.Ajax.request 方法将此对象发送到服务器(文档:http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Ajax-method-request

【讨论】:

    【解决方案2】:

    您可以通过以下代码使用参数向服务器发送请求:

     Ext.Ajax.request({
        url: '/requestUrl',
        params: {
            param1: data1,
            param2: data2
        },
        method: 'POST',
        success: function(response) {
            //do something...
            }
        })
    

    您还需要将此代码添加到弹出窗口中的某个侦听器中,例如onButtonClick

    function openIFrame() {
     Ext.create('Ext.window.Window', {
        title : 'Import your devices',
        width: 500,
        height: 500,
        layout: 'fit',
        items: [formPanel],
        buttons: [
                    {
                        text: 'Submit',
                        handler: function () {
                           //function which listed above 
                        }
                    }
    
                ]
    }).show();
    

    要在 BE 处理请求,您需要像这样创建控制器:

    @ResponseBody
    @RequestMapping(value = "/requestUrl")
    public void handler(@RequestParam ("param1") String param1,
                            @RequestParam ("param2") String param2) throws Exception {
          //do something with data
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2011-10-18
      • 1970-01-01
      • 2015-08-16
      相关资源
      最近更新 更多