春花儿 2010-12-28 17:58 采纳率: 0%
浏览 241
已采纳

使用extjs和struts2传参为什么action没有接到数据,要怎么传参?

extjs代码:
[code="java"]
var add_guest = new Ext.Button({
text:'添加客户',
iconCls : 'icon-add',
handler : function() {
window_add_guest.show();
}
});

var window_add_guest = new Ext.Window({
title : '添加客户',
width : 350,
height : 440,
resizable : false,
autoHeight : true,
modal : true,
closeAction : 'hide',
listeners : {
'hide' : function() {
this.findById('duty.dutyName').ownerCt.form.reset();//可能是找到id ,把以前的数据重置

    }
},

//进入到Form的设置
items : [
        fp =  new Ext.FormPanel({
                frame:true,
                labelAlign: 'right',
                labelWidth: 85,
                width:340,
                waitMsgTarget: true,
                 items :[

                         new Ext.form.FieldSet({
                              title: 'Guest Information',
                              autoHeight: true,
                              defaultType: 'textfield',
                              //客户信息填写开始
                               items:[{
                               fieldLabel: '客户编号',
                               emptyText: '客户编号',
                               name: 'first',
                               width:190
                                 }, {
                                     fieldLabel: '客户名称',
                                     emptyText: '客户名称',
                                     name: 'last',
                                     width:190
                                 }
                               ]
                               //客户信息填写结束
                            })
                        ]

                   }),

                   //提交按钮设置
                   submit = fp.addButton({
                    text:'提交',
                    disabled:false,//disabled为true表示不能提交
                    handler:function(){
                     fp.getForm().submit({url:'save_guest.action',waitMsg:'正在保存数据',submitEmptyText: false})
                      }
                   })
               ]

});
[/code]

action代码:
[code="java"]
package Action;

import GuestDao.DaoFactory;
import GuestDao.GuestDao;

public class addGuestAction {
private String guest_id;
private String guest_name;

public String execute(){

    System.out.println("------start the action by addGuestAction--------");

    GuestDao imp = DaoFactory.getGuestDaoimp();

    System.out.println("guest_id"+guest_id);

    System.out.println("guest_name" +guest_name);

    try {
        imp.addGuest(guest_id, guest_name);

    } catch (Exception e) {
        e.printStackTrace();
    }

    return "success";
}

public String getGuest_id() {
    return guest_id;
}

public void setGuest_id(String guestId) {
    guest_id = guestId;
}

public String getGuest_name() {
    return guest_name;
}

public void setGuest_name(String guestName) {
    guest_name = guestName;
}

}
[/code]

控制台报错:
------start guestimp----
totalInfos:525
------start the action by addGuestAction--------
guest_id: null
guest_name: null
com.microsoft.sqlserver.jdbc.SQLServerException: 不能将值 NULL 插入列 'guest_id',表 'sinwa.dbo.guest';列不允许有空值。INSERT 失败。

怎么样才能把 guest_id 和guest_name 传给action 呢?我只想用Ext.form.FieldSet.

  • 写回答

2条回答 默认 最新

  • iteye_7064 2010-12-29 00:06
    关注

    ls正解
    struts2是根据name来匹配action里面的属性的(严格讲是根据get,set方法匹配的)。你前台name和后台action属性不同,struts2没法给你赋值啊。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计