Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT如何将表单参数传递给服务器_Gwt_Rpc_Smartgwt - Fatal编程技术网

GWT如何将表单参数传递给服务器

GWT如何将表单参数传递给服务器,gwt,rpc,smartgwt,Gwt,Rpc,Smartgwt,使用rpc将表单参数传递给服务实现的步骤有哪些? 基本上现在我有这些步骤,但调用时传递的p1(用户名)和p2(密码)值始终为空 userService.createUser(p1,p2,callback): 我的代码: /** * Overlay form * * @return */ public Canvas getViewPanel() { IButton buttonShowWindow = new IButton("Show Window"); fin

使用rpc将表单参数传递给服务实现的步骤有哪些? 基本上现在我有这些步骤,但调用时传递的p1(用户名)和p2(密码)值始终为空

userService.createUser(p1,p2,callback):
我的代码:

 /**
 * Overlay form
 * 
 * @return
 */
public Canvas getViewPanel() {

    IButton buttonShowWindow = new IButton("Show Window");

    final DynamicForm form = new DynamicForm();
    final TextItem emailItem = new TextItem();
    final PasswordItem passwordItem = new PasswordItem();
    final PasswordItem password2Item = new PasswordItem();

    buttonShowWindow.setShowRollOver(true);
    buttonShowWindow.setShowDown(true);
    buttonShowWindow.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            final Window winModal = new Window();
            winModal.setWidth(360);
            winModal.setHeight(200);
            winModal.setTitle("Modal Window");
            winModal.setShowMinimizeButton(false);
            winModal.setIsModal(true);
            winModal.setShowModalMask(true);
            winModal.centerInPage();
            winModal.addCloseClickHandler(new CloseClickHandler() {
                public void onCloseClick(CloseClickEvent event) {
                    winModal.destroy();
                }
            });
            HLayout layout = new HLayout(20);


            form.setWidth(250);

            final TextItem usernameItem = new TextItem();
            usernameItem.setTitle("Username");
            usernameItem.setRequired(true);

            emailItem.setTitle("Email");
            emailItem.setRequired(true);

            passwordItem.setTitle("Password");
            passwordItem.setRequired(true);

            password2Item.setTitle("Password again");
            password2Item.setRequired(true);
            password2Item.setType("password");

            IButton submit = new IButton();
            submit.setTitle("subscribe");

            final AsyncCallback callback = new AsyncCallback<String>() {

                public void onSuccess(String result) {
                    // TODO Auto-generated method stub

                }

                public void onFailure(Throwable caught) {
                    // TODO Auto-generated method stub

                }
            };

            submit.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    // vm.validate();
                    if (form.hasErrors()) {
                        // TODO some message to the user
                    } else {
                        userService.createUser(usernameItem.getValueField(), passwordItem.getValueField(),callback);

                    }
                }
            });
            form.setFields(new FormItem[] { usernameItem, emailItem, passwordItem, password2Item });
            winModal.addItem(form);
            winModal.addItem(submit);
            winModal.show();
        }
    });

    HStack layoutTopRow = new HStack(10);
    layoutTopRow.setHeight(50);

    VLayout layoutMain = new VLayout();
    layoutMain.addMember(layoutTopRow);
    layoutMain.addMember(buttonShowWindow);

    return layoutMain;
}
/**
*覆盖形式
* 
*@返回
*/
公共画布getViewPanel(){
IButton按钮ShowWindow=新IButton(“显示窗口”);
最终DynamicForm表单=新DynamicForm();
final TextItem emailItem=新TextItem();
最终PasswordItem PasswordItem=新PasswordItem();
最终PasswordItem password2Item=新PasswordItem();
按钮显示窗口。设置显示滚动(真);
按钮显示窗口。设置显示(真);
addClickHandler(新的ClickHandler(){
公共作废一次点击(点击事件){
最终窗口winModal=新窗口();
设置宽度(360);
设置高度(200);
setTitle(“模式窗口”);
winModal.setShowMinimizeButton(假);
winModal.setIsModal(true);
winModal.setShowModalMask(true);
winModal.centerInPage();
addCloseClickHandler(新的CloseClickHandler(){
关闭单击时公共作废(关闭单击事件){
winModal.destroy();
}
});
HLayout布局=新HLayout(20);
形式.设置宽度(250);
final TextItem usernameItem=新TextItem();
usernameItem.setTitle(“用户名”);
usernameItem.setRequired(true);
emailItem.setTitle(“电子邮件”);
emailItem.setRequired(true);
passwordItem.setTitle(“密码”);
passwordItem.setRequired(true);
password2Item.setTitle(“再次输入密码”);
password2Item.setRequired(true);
password2Item.setType(“密码”);
IButton submit=新IButton();
提交。设定标题(“认购”);
final AsyncCallback=new AsyncCallback(){
成功时的公共void(字符串结果){
//TODO自动生成的方法存根
}
失败时的公共无效(可丢弃){
//TODO自动生成的方法存根
}
};
submit.addClickHandler(新的ClickHandler(){
公共作废一次点击(点击事件){
//vm.validate();
if(form.hasErrors()){
//TODO向用户发送一些消息
}否则{
userService.createUser(usernameItem.getValueField(),passwordItem.getValueField(),回调);
}
}
});
设置字段(新FormItem[]{usernameItem,emailItem,passwordItem,password2Item});
winModal.addItem(表单);
winModal.addItem(提交);
winModal.show();
}
});
HStack layoutTopRow=新HStack(10);
设置高度(50);
VLayout layoutMain=新VLayout();
layoutMain.addMember(layoutTopRow);
layoutMain.addMember(按钮显示窗口);
返回layoutMain;
}
谢谢使用

userService.createUser(usernameItem.getValue(), passwordItem.getValue(),callback);
而不是

userService.createUser(usernameItem.getValueField(), passwordItem.getValueField(),callback);

有关详细信息,请阅读。

谢谢Braj,您知道为什么在调试中尝试查看变量(usernameItem或passwordIdem)时编译器无法识别它:usernameItem无法解析为变量可能是由于局部变量。将其创建为实例变量。