`
wenqiang06ky
  • 浏览: 71774 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

深入浅出GWT(二)——基础篇之表单数据处理

阅读更多
【前言】 表单处理实际上就是对表单组件的输入输出的数据的处理。常见的表单数据的输入(新增或修改)输出(查询或修改)载体是TextField、DateField、TextArea、comboBox、RadioGroup、CheckBoxGroup。下面对这几种组件的数据处理一一进行阐述。
声明:请结合《深入浅出GWT(一)——基础篇之表单设计》中对应的例子。


一、TextField-->文本框数据处理
1、 输入处理:获取TextField输入的值比较简单,调用getValue()方法就可以了。
举例-->获取投票标题的值代码如下:
String ballot_title = ballotTitle.getValue().trim;

2、输出处理:输出TextField的值也很简单,调用setValue(String value)方法就可以了。
举例-->输出投票标题的值代码如下:
ballotTitle.setValue(ballotData.getBallot_title());
说明:
(1) ballotData是一个模型,封装了投票的所有属性,从数据库中查出的值保存到这个模型中,方便处理数据。
(2) getBallot_title()获取投票标题的值。


二、DateField-->时间组件数据处理
1、输入处理:获取DateField的值有两种方法即getValue()和getRawValue(),前者获取的是Date类型的值,后者获取的是String类型的值,在做校验时需要用到Date的值,例如经常会用到与当前时间进行比较等,做数据处理的时候(例如拼接时分秒或者设定特殊的时间格式等)用String类型就比较方便。
举例-->获得投票的开始时间代码如下:
(1)Date sendStartDate = getBeginDate.getValue();
(2)String sendStartDateString = getBeginDate.getRawValue();

2、输出处理:与之对应的是setValue(Date value)和setRawValue(String value)。
举例-->输出投票的开始日期
(1)getBeginDate.setValue(ballotData.getStartDate());
(2)getBeginDate.setRawValue(ballotData.getStartDateString());


三、TextArea-->文本域数据处理
文本域与文本框的数据输入输出方式是一样的,具体处理方式请参上面的TextField。


四、ComboBox-->下拉列表数据处理
1、输入处理:获取ComboBox的数据需要注意,下拉列表存的什么值,获取的就是什么值。
举例-->获取页面类型下拉列表所选择的值:
ComboBox<State> pageTypeComboBox = new ComboBox<State>();
State state = pageTypeComboBox.getValue();
State封装的是自己想要的各种属性,获取到State就相当于获取到了自己所想要的各种属性值。
一般想要的是菜单项的ID,那么String id = state.get("id"));

2、输出处理:调用setValue(Object o)方法。
举例-->设置数据库保存的页面下拉列表的值,代码如下:
bookNewsState.setValue(state);


五、RadioGroup-->单选框组件数据处理
分析,单选框选中的话值为true,反之为false,一般我会把单选框组件所选中的值保存在一个属性里面,这样的话我们只需要分别标识各个单选框单元的值就行了,例如有三个单选框单元radio1、radio2、radio3,分别标记为字符串类型的1、2、3,选中了那个保存数据的时候就储存相应的值。
1、输入处理:调用对应的单选框单元Radio的getValue()值,若为true,保存相应的值,举例如下:
String value = "1";
boolean value1 = radio1.getVaule;
boolean value2 = radio2.getVaule;
boolean value3 = radio3.getVaule;

if (value2)
{
    value = "2";
}
else if (value3)
{
    value = "3";
}

最后保存value即为该单选框组件所需要的值。

2、输出处理:输出处理很简单,接上面的例子:若value值为"2",那么调用radio2的setValue(true),其它设置为false即可。



六、CheckBoxGroup-->复选框组件数据处理
分析:复选框组件的数据处理方式可以参照单选框,不同的是它可以选择多个选项。下面再介绍另外一种处理方式(RadioGroup数据处理也可以参照此方法)。
思路:每一个选项我们都可以把它视为一个boolean型的值,选中为true否则为false,或者用1/0标记(选中为1未选中未0),视个人喜好了。
1、输入处理:接《深入浅出GWT(一)——基础篇之表单设计》中的CheckBoxGroup例子,获取复选框组件数据的数据代码如下:
Integer isTop = 0;
Integer isInMainPage = 0;
                       
StringBuffer sb = new StringBuffer();
for (CheckBox box: checkBoxGroup.getAll())
{
    if (box.getValue())
    {
        sb.append(box.getId() + ",");
    }                           
}
                       
String s = sb.toString();
                       
if(null != s && !"".equals(s))
{
    if("0,".equals(s))
    {
        isTop = 1;
    }                          
    else if("1,".equals(s))
    {
        isInMainPage = 1;
    }
    else
    {
        isTop = 1;
        isInMainPage = 1;
    }
}

2、输出处理:接上例,代码如下:
//获取分类置顶的值
int isTopKey = newsModel.getIsTop();
if(isTopKey == 1)
{
    isTopCB.setValue(true);
}
//获取首页显示的值
int isInmainPageKey = newsModel.getIsInMainPage();
if(isInmainPageKey == 1)
{
    isInMainPageCB.setValue(true);
}


【结束语】 以上就是常见的几种表单组件的数据处理方法,若掌握了一门页面处理技术(如JSP),那么GWT中的数据处理也就不难理解了,因为原理上是一样的,处理方式相互之间还可以借鉴。若大家有更好的处理方式,欢迎不吝赐教。
1
0
分享到:
评论

相关推荐

    Gwt-ext学习笔记之基础篇

    ### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。CypalStudio是一款非常实用的工具,它能帮助开发者更高效地进行GWT项目的开发。 1....

    Gwt-Ext学习笔记之基础篇- www.hxiaseo.cn技术网站

    标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...

    gwt简单服务端返回数据代码

    客户端请求,服务端返回数据完成,虽然代码很简单,但代表这整个GWT流程;接下来就需要熟悉GWT各种控件、面板、样式等。 具体说明可参考:http://blog.csdn.net/chiperfect/article/details/7666102

    GWT入门 GWT中文教程

    “GWT入门”和“GWT中文教程”显然是针对初学者的,它们可能从最基础的GWT安装、项目配置开始,逐步讲解GWT的核心概念,如UI设计(Widget系统)、事件处理、数据模型和服务器通信(RPC机制)、本地存储、国际化等。...

    GWT EXT 教程全集

    " Gwt-Ext学习笔记之基础篇.doc "、" Gwt-Ext学习笔记之中级篇.doc "、" Gwt-Ext学习笔记之进级篇.doc "这三份文档,按照从基础到进阶的顺序,系统地介绍了EXT-GWT的使用技巧和实践案例。基础篇可能涵盖EXT-GWT的...

    Gwt-Ext基础-中级-进阶

    这个压缩包包含的资源是关于Gwt-Ext的基础、中级和进阶学习资料,适合想要深入理解和应用Gwt-Ext的开发者。 在"基础篇"中,你将学习到以下知识点: 1. **GWT概述**:Google Web Toolkit是一个用于构建高性能、跨...

    gwt 练习 gwt学习

    7. **异步编程**:由于RPC调用是异步的,开发者需要处理回调函数来处理数据返回。 8. **历史管理**:GWT的History API允许应用程序创建和管理URL片段,实现页面状态的导航,而无需刷新整个页面。 9. **单元测试**...

    Gwt-Ext学习笔记之进级篇

    在深入探讨GWT-Ext之前,我们先了解一下GWT(Google Web Toolkit)和Ext Js的基础。GWT是一个开源的开发工具,允许开发者使用Java语言来编写客户端的Web应用程序,然后将其编译为优化过的JavaScript代码,以实现高...

    SmartGwt学习文档

    智能表单处理是SmartGwt的一个亮点,它提供了一套完整的表单组件和验证机制,方便开发者创建复杂的业务表单。同时,SmartGwt还支持国际化和本地化,方便开发面向全球用户的应用。 在实际项目中,SmartGwt通常与MVC...

    gwtext学习三部曲

    GWT Ext不仅提供了丰富的组件,还包含数据绑定、事件处理、动画效果等功能。学习如何利用GWT Ext的API创建动态和交互性强的用户界面,以及如何实现数据模型与视图之间的双向绑定。同时,你将接触到GWT Ext的布局管理...

    GWT

    标题 "GWT" 指的是 Google Web Toolkit,这是一个开源的Java开发框架,主要用于构建高性能、跨浏览器的富互联网应用程序(Rich Internet ...通过深入学习和理解GWT,开发者可以创建出高效、健壮、易于维护的Web应用。

    smartgwt最新版本GWT的DEMO

    2. **数据绑定**:SmartGWT支持数据绑定,允许开发者将UI组件直接与后台数据模型关联,实现数据的动态更新。在DEMO中,可以看到如何使用DataSource和Record来实现这一功能。 3. **事件处理**:DEMO会演示如何注册...

    “深入浅出Ext“

    《深入浅出Ext》是一本专注于讲解ExtJS框架的书籍,该书旨在帮助读者深入了解ExtJS的内部工作原理,从而更好地运用这个强大的JavaScript库来构建富客户端应用。ExtJS是一个用于构建Web应用程序的前端框架,它提供了...

    GWT入门教程+实例代码

    **GWT 入门教程与实例解析** Google Web Toolkit(GWT)是Google推出的一款用于构建高性能、跨浏览器的Web应用程序的开源开发工具。...通过深入学习GWT,开发者可以构建出复杂且具有交互性的Web应用程序。

    smartGWT 3.1 最新版本

    在本篇文章中,我们将深入探讨SmartGWT 3.1的关键特性、API使用、源码解析以及Sample示例。 1. **SmartGWT框架概述** SmartGWT是一个基于Google Web Toolkit (GWT) 的扩展框架,它通过提供大量预定义的用户界面...

    smartgwt官方实例

    1. **SmartGWT组件**:SmartGWT提供了众多可定制的UI组件,如按钮、表格、表单、图表等。实例中,你可以看到如何创建和配置这些组件,以及它们在实际应用中的表现。 2. **数据绑定**:SmartGWT支持自动的数据绑定,...

    gwt入门项目代码

    5. **API的使用**:在代码中查找GWT和GXT的API用法,例如数据绑定、异步通信(RPC服务)、UI布局管理、表单控件等。 6. **Widget编程**:GWT中的Widget是构建用户界面的基本元素,了解如何创建和操作Widget,以及...

Global site tag (gtag.js) - Google Analytics