`
SimonLei
  • 浏览: 176175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SmartGWT 里面做服务端校验的方法

阅读更多

在使用hibernate作为datasource的情况下,有两种方法。

 

第一种是我最开始用的办法,比较普通,也比较土。使用RPC来进行校验,在提交之前,使用RPC的调用。

XxxxRemoteService.Util.getInstance().isFileNameValid( form.getValueAsString( "name"), new AsyncCallback<Boolean>() {
	@Override
	public void onSuccess(Boolean result) {
		if ( result) {
			form.saveData();
			okClick();
		} else Window.alert( "该文件无法创建,模板文件不存在,请先上传该类型的模板文件。");
	}
	@Override
	public void onFailure(Throwable caught) {
		Window.alert( "该文件无法创建,请参考日志文件。");
	}
});

 

第二种方法,则是利用 SmartGWT EE 里面提供的 HibernateDataSource机制,继承自HibernateDataSource,

然后在其中的validateDSRequest方法当中进行校验。首先 ds.xml文件当中要设上

 

serverConstructor="org.simon.xxx.server.docs.XxxxxDataSource"

 

然后代码里面:

@Override
public DSResponse validateDSRequest(DSRequest request) throws Exception {
	DSResponse response = super.validateDSRequest(request);
	if ( !"add".equals( request.getOperationType())) return response;
	if ( response == null) response = new DSResponse();
	ErrorReport errorReport = response.getErrorReport();
	if ( errorReport == null) {
		errorReport = new ErrorReport();
		response.setErrorReport( errorReport);
	}
	File templateFile = new File( SvnUtils.getTemplateFile( 
StringUtils.getFilenameExtension( (String) request.getValues().get( "name"))));
	if ( !templateFile.exists()) {
		errorReport.addError( "name", new ErrorMessage( "该文件类型不存在,请上传该类型的模板"));
		response.setStatus( DSResponse.STATUS_VALIDATION_ERROR);
	} else return null;
	
	return response;
}
 

 

0
0
分享到:
评论

相关推荐

    smartgwt官方实例

    SmartGWT是一个强大的Java框架,用于构建富互联网应用程序(RIA)。这个官方实例是学习和理解SmartGWT功能和用法的宝贵资源,尤其适合自学者。"Showcase"通常指的是一个展示各种组件、特性和功能的集合,让我们深入...

    SmartGwt学习文档

    SmartGwt是一款强大的Java库,专门用于构建富互联网应用程序(RIA,Rich Internet Applications)。它基于Google的GWT(Google Web Toolkit)框架,并扩展了其功能,提供了丰富的UI组件和更高级的客户端性能优化。...

    SmartGWT2.0 API

    SmartGWT 2.0 API 是一款基于Google Web Toolkit (GWT) 2.0的高级组件库,它为开发者提供了丰富的用户界面组件和强大的功能,以构建高性能、交互式的Web应用程序。SmartGWT 2.0 在其前身的基础上进行了多方面的改进...

    smartgwt-1.3

    SmartGWT是一个强大的Java库,专门用于构建富互联网应用程序(RIA)。这个名为"smartgwt-1.3"的压缩包文件很可能包含了SmartGWT框架的1.3版本的源代码、库文件和其他相关资源。SmartGWT是基于Google Web Toolkit ...

    smartGWT 3.1 最新版本

    SmartGWT 3.1 是一个先进的Java框架,专门用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这个最新版本提供了丰富的功能和组件,旨在帮助开发者高效地开发出交互性强、用户体验优秀的Web应用。...

    基于Maven的SmartGWT项目示例

    本示例项目“基于Maven的SmartGWT项目”就是这样的一个实践,它结合了两个强大的技术:Maven作为项目管理和构建工具,以及SmartGWT作为前端UI框架。下面我们将深入探讨这两个技术以及它们如何协同工作。 首先,...

    smartGWT最新zip

    通过这些实例,可以快速掌握SmartGWT的基本使用方法和设计模式。 此外,SmartGWT支持MVC(Model-View-Controller)架构,这使得开发者可以更好地组织代码并实现模块化。它还集成了服务器端的数据服务,如DS(Data ...

    SmartGWT 12.0

    SmartGWT 12.0 是一款强大的Java框架,专为构建富互联网应用程序(Rich Internet Applications,RIAs)而设计。这个最新版本提供了一系列增强的功能和优化,旨在提高开发效率和用户体验。SmartGWT库的核心在于它将...

    smartGWT开发环境搭建(完整工程)

    SmartGWT是一个强大的Java框架,用于构建富互联网应用程序(RIA)。它基于Google Web Toolkit (GWT) 并扩展了其功能,提供了丰富的组件库和高级的UI设计工具。本教程将详细阐述如何搭建SmartGWT的开发环境,以及如何...

    smartgwt2.4 最新发布

    1. **API文档**:详述了SmartGWT 2.4的所有类、接口和方法,包括它们的参数、返回值和用途,这将帮助开发者了解如何调用和使用这些组件。 2. **用户指南**:引导开发者从零开始搭建SmartGWT项目,包括设置开发环境...

    smartGwt学习笔记

    这种方法虽然能够解决问题,但可能会影响到SmartGWT的其他功能,因此在实际应用中需要谨慎考虑。 在学习SmartGwt的过程中,了解并掌握如何调试、定制组件的行为是非常重要的技能。这不仅能够帮助解决眼前的问题,还...

    smartGWT

    在描述中提到的博文链接指向了ITEYE博客上的一篇文章,虽然具体内容未给出,但我们可以推测这篇博客可能详细介绍了如何使用SmartGWT进行开发,可能包括了示例代码、最佳实践或者常见问题的解决方法。 标签“源码”...

    smartgwt5.0

    SmartGWT 是封装了 SmartClient 的 GWT API。而 SmartClient 是一个开源的企业级 Ajax 开发框架。 Google Web Toolkit 的发布,大大降低了 Java 开发人员进行 Web 开发的门槛。然而 GWT 本身提供的控件及功能相对...

    smartgwt + spring + hibernate

    SmartGWT + Spring + Hibernate 是一个常见的企业级应用开发组合,它们各自在Web应用程序开发中扮演着重要角色。SmartGWT是基于GWT(Google Web Toolkit)的一个强大的UI库,提供丰富的用户界面组件和高性能的...

    smart GWT 3.1

    基于 GWT 的 SmartGWT 是非常容易 使用的,即使很炫的效果,实现代码也非常简短,Java 开发人员很快就可以做 出炫目的 Web 应用。 SmartGWT 有四个不同的发行版:免费的 LGPL 版,收费的专业版,Power 版 和企业版

    SmartGWT 入门 SmartGWT 入门

    ### SmartGWT 入门详解 #### 一、SmartGWT 概述 **SmartGWT** 是一款基于 **Google Web Toolkit (GWT)** 的高级Web应用开发框架,旨在简化企业级Web 2.0应用的开发过程。自从 **GWT** 发布以来,它吸引了大量的...

    SmartGWT 快速开发文档(Quick Start Guide)

    在正式介绍 SmartGWT 的功能和使用方法之前,首先需要了解文档的版权信息及使用限制: - **版权归属**:本文档及其中包含的所有信息和技术数据均受 Isomorphic Software, Inc. 的版权保护。 - **使用限制**:用户仅...

    SmartGwt 之原生 Desktop(与gxt无关)

    《SmartGwt 原生 Desktop 深度解析》 SmartGwt 是一款基于 Java 的开源库,它为开发人员提供了丰富的组件和工具,用于构建高性能、富交互式的 Web 应用程序。在 SmartGwt 中,原生的 Desktop 功能是一个强大的特性...

    smartgwt 培训ppt

    有关于smartgwt 开发的ppt,高级开发的应用。

    smartgwt-2.0API.CHM

    smartgwt-2.0API.CHM 2009年12月18日 ... SmartGWT 2.0发布下载了

Global site tag (gtag.js) - Google Analytics