GWT如何将表单参数传递给服务器
使用rpc将表单参数传递给服务实现的步骤有哪些? 基本上现在我有这些步骤,但调用时传递的p1(用户名)和p2(密码)值始终为空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
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无法解析为变量可能是由于局部变量。将其创建为实例变量。