在使用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;
}
分享到:
相关推荐
SmartGWT是一个强大的Java框架,用于构建富互联网应用程序(RIA)。这个官方实例是学习和理解SmartGWT功能和用法的宝贵资源,尤其适合自学者。"Showcase"通常指的是一个展示各种组件、特性和功能的集合,让我们深入...
SmartGwt是一款强大的Java库,专门用于构建富互联网应用程序(RIA,Rich Internet Applications)。它基于Google的GWT(Google Web Toolkit)框架,并扩展了其功能,提供了丰富的UI组件和更高级的客户端性能优化。...
SmartGWT 2.0 API 是一款基于Google Web Toolkit (GWT) 2.0的高级组件库,它为开发者提供了丰富的用户界面组件和强大的功能,以构建高性能、交互式的Web应用程序。SmartGWT 2.0 在其前身的基础上进行了多方面的改进...
SmartGWT是一个强大的Java库,专门用于构建富互联网应用程序(RIA)。这个名为"smartgwt-1.3"的压缩包文件很可能包含了SmartGWT框架的1.3版本的源代码、库文件和其他相关资源。SmartGWT是基于Google Web Toolkit ...
SmartGWT 3.1 是一个先进的Java框架,专门用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这个最新版本提供了丰富的功能和组件,旨在帮助开发者高效地开发出交互性强、用户体验优秀的Web应用。...
本示例项目“基于Maven的SmartGWT项目”就是这样的一个实践,它结合了两个强大的技术:Maven作为项目管理和构建工具,以及SmartGWT作为前端UI框架。下面我们将深入探讨这两个技术以及它们如何协同工作。 首先,...
通过这些实例,可以快速掌握SmartGWT的基本使用方法和设计模式。 此外,SmartGWT支持MVC(Model-View-Controller)架构,这使得开发者可以更好地组织代码并实现模块化。它还集成了服务器端的数据服务,如DS(Data ...
SmartGWT 12.0 是一款强大的Java框架,专为构建富互联网应用程序(Rich Internet Applications,RIAs)而设计。这个最新版本提供了一系列增强的功能和优化,旨在提高开发效率和用户体验。SmartGWT库的核心在于它将...
SmartGWT是一个强大的Java框架,用于构建富互联网应用程序(RIA)。它基于Google Web Toolkit (GWT) 并扩展了其功能,提供了丰富的组件库和高级的UI设计工具。本教程将详细阐述如何搭建SmartGWT的开发环境,以及如何...
1. **API文档**:详述了SmartGWT 2.4的所有类、接口和方法,包括它们的参数、返回值和用途,这将帮助开发者了解如何调用和使用这些组件。 2. **用户指南**:引导开发者从零开始搭建SmartGWT项目,包括设置开发环境...
这种方法虽然能够解决问题,但可能会影响到SmartGWT的其他功能,因此在实际应用中需要谨慎考虑。 在学习SmartGwt的过程中,了解并掌握如何调试、定制组件的行为是非常重要的技能。这不仅能够帮助解决眼前的问题,还...
在描述中提到的博文链接指向了ITEYE博客上的一篇文章,虽然具体内容未给出,但我们可以推测这篇博客可能详细介绍了如何使用SmartGWT进行开发,可能包括了示例代码、最佳实践或者常见问题的解决方法。 标签“源码”...
SmartGWT 是封装了 SmartClient 的 GWT API。而 SmartClient 是一个开源的企业级 Ajax 开发框架。 Google Web Toolkit 的发布,大大降低了 Java 开发人员进行 Web 开发的门槛。然而 GWT 本身提供的控件及功能相对...
SmartGWT + Spring + Hibernate 是一个常见的企业级应用开发组合,它们各自在Web应用程序开发中扮演着重要角色。SmartGWT是基于GWT(Google Web Toolkit)的一个强大的UI库,提供丰富的用户界面组件和高性能的...
基于 GWT 的 SmartGWT 是非常容易 使用的,即使很炫的效果,实现代码也非常简短,Java 开发人员很快就可以做 出炫目的 Web 应用。 SmartGWT 有四个不同的发行版:免费的 LGPL 版,收费的专业版,Power 版 和企业版
### SmartGWT 入门详解 #### 一、SmartGWT 概述 **SmartGWT** 是一款基于 **Google Web Toolkit (GWT)** 的高级Web应用开发框架,旨在简化企业级Web 2.0应用的开发过程。自从 **GWT** 发布以来,它吸引了大量的...
在正式介绍 SmartGWT 的功能和使用方法之前,首先需要了解文档的版权信息及使用限制: - **版权归属**:本文档及其中包含的所有信息和技术数据均受 Isomorphic Software, Inc. 的版权保护。 - **使用限制**:用户仅...
《SmartGwt 原生 Desktop 深度解析》 SmartGwt 是一款基于 Java 的开源库,它为开发人员提供了丰富的组件和工具,用于构建高性能、富交互式的 Web 应用程序。在 SmartGwt 中,原生的 Desktop 功能是一个强大的特性...
有关于smartgwt 开发的ppt,高级开发的应用。
smartgwt-2.0API.CHM 2009年12月18日 ... SmartGWT 2.0发布下载了