branny 2010-05-04 00:02
浏览 290
已采纳

formpanel提交问题

我在做登陆,formpanel(simple)提交成功,后台STRUTS2传递一个用户的json串:
{success:true,list:{"authority":{"authority":1,"authorityname":"管理 员"},"password":"d68e84140e6956552ce2dd8edc2dd627","userid":38,"username":"911911"}}
json串给了一个中间JSP页面,前台页面的另一个formpanel(simple2)如何获得这个串并自动填充进值?代码如下:
[code="java"]Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
var simple = new Ext.FormPanel({
labelWidth: 75,
frame:true,
hidden:false,
title: '登陆',
bodyStyle:'padding:5px 5px 0',
width: 350,
renderTo:'login',
draggable:true,
defaults: {width: 230},
defaultType: 'textfield',

    items: [{
            fieldLabel: '用户名',
            name: 'username',
            maxLength:10,
            minLength:6,
            allowBlank:false,
            maxLengthText:'用户名长度为6至10位',
            minLengthText:'用户名长度为6至10位',
            blankText:'用户名不能为空'
        },{
            fieldLabel: '密码',
            name: 'password',
            inputType:'password',
            maxLength:12,
            minLength:6,
            allowBlank:false,
            maxLengthText:'密码长度为6至12位',
            minLengthText:'密码长度为6至12位',
            blankText:'密码不能为空'
        }
    ],

    buttons: [{
        text: '登陆',
        disabled:false,
        handler:function(){submit();}
    },{
        text: '取消'
    }]
});
    var _jsonFormReader = new Ext.data.JsonReader({record:"list", successProperty:"@success"}, [{name:"user.userid", mapping:"userid", type:"int"}, {name:"user.username", mapping:"username"}, {name:"user.authorityname", mapping:"authority.authorityname"}]);
    var simple2 = new Ext.FormPanel({
    labelWidth: 75,
    frame:true,
    hidden:false,
    title: '登陆',
    bodyStyle:'padding:5px 5px 0',
    width: 350,
    reader:_jsonFormReader,
    renderTo:'login2',
    draggable:true,
    defaults: {width: 230},
    defaultType: 'textfield',

    items: [{
            fieldLabel: '用户名',
            name: 'user.username',
            maxLength:10,
            minLength:6,
        },{
            fieldLabel: '用户ID',
            name: 'user.userid',
            maxLength:10,
            minLength:6,
        },{
            fieldLabel: '用户权限',
            name: 'user.authorityname',
            maxLength:10,
            minLength:6,
        },
    ]
});
var submit=function(){
    if(simple.form.isValid()){
        simple.form.submit({
            url:'User/login.action',
            success:function(form,action){
            simple2.form.load({url:"'FormAutoLoad",method:'GET',waitMsg:"waiting"});
            },
            failure:function(form,action){
                Ext.Msg.alert('登录错误','用户名密码错误或用户不存在');
            }
        });
    }
};[/code]
  • 写回答

3条回答 默认 最新

  • zhoujuan520 2010-05-04 22:55
    关注

    注意:

     你返回的json对象中的属性名为 username,而你simple表单中对应的组件名称为name: 'user.username', 这样当然匹配不到,名字至少要相同
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?