`

smarGwt / Grails 上传实例

阅读更多

前台代码 (smarGwt):

 

public DataSourceTextField DataSourceDateFieldUploadingPic(String timeId,String timeName){
		//SC.showConsole();
		//"file"
		new DataSourceValidateFile();
		
		textuploadFile=new  DataSourceTextField(timeId,"<nobr>"+timeName+"</nobr>");
		
		formItem=new CanvasItem(timeId,"<nobr>"+timeName+"</nobr>");
		formItem.setWidth("200");
		
		final DynamicForm picForm=new DynamicForm();
		picForm.setEncoding(Encoding.MULTIPART);
		CanvasItem pictureShowItem=new CanvasItem("pictureShowItem","照片");
		pictureShowItem.setRowSpan(3);
		final Image image=new Image();
		image.setUrl(GWT.getHostPageBaseURL()+"icons/fwsp.png");
		Canvas c=new Canvas();
		c.addChild((image));
		pictureShowItem.setCanvas(c);
		
		UploadItem pictureItem =new UploadItem("file","<nobr>"+timeName+"</nobr>");
		
		SubmitItem submitPic=new SubmitItem("submitPic","上传照片");
		picForm.setItems(pictureShowItem,pictureItem,submitPic);
		picForm.setAction(GWT.getHostPageBaseURL()+"personalInfo/upload");

		
		final Window tipWin=new Window();
		tipWin.setTitle("上传提示窗口");
		HTMLPane htmlPane=new HTMLPane();
		htmlPane.setContents("<IFRAME name=\"uploadFrame2018\" class=gwt-Frame style=\"WIDTH:100%; HEIGHT:100%\" src=\""+GWT.getHostPageBaseURL()+"uploading.gsp\"></IFRAME>");
		htmlPane.setSize("100%", "100%");
		htmlPane.moveTo(0, 20);
		tipWin.addChild(htmlPane);	
	
		tipWin.addCloseClickHandler(new CloseClickHandler() {

			public void onCloseClick(CloseClientEvent event) {
				
	              mainService.getPicName(new AsyncCallback() {
					public void onFailure(Throwable caught) {
						
					}
					@Override
					public void onSuccess(Object result) {
						strValue=result.toString();
						image.setUrl(GWT.getHostPageBaseURL()+"picture/"+result.toString()+"?"+Random.nextDouble());
						tipWin.clear();
					}

				

				});
				
			}
		});
		picForm.setTarget("uploadFrame2018"); 
				submitPic.addClickHandler(new ClickHandler() {
					@Override
					public void onClick(ClickEvent event) {
						 
						tipWin.setSize("300","300");
						tipWin.setAutoCenter(true);
						tipWin.show();
						tipWin.bringToFront();
						picForm.submitForm();
					}
				})	
				;

		
		picForm.setIsGroup(true);
		picForm.setGroupTitle("上传照片");

		formItem.setCanvas(picForm);
		return textuploadFile;
	}
 

	public DynamicForm createForm(){
		DataSource dataSource=new DataSource();
		dataSource.setClientOnly(true);
		
		DataSourceValidateFile file=new DataSourceValidateFile();
		dataSource.setFields(file.DataSourceDateFieldUploadingPic("attachment1","上传访谈文件"));
		
		final DynamicForm form=new DynamicForm();
		form.setUseAllDataSourceFields(true);
		form.setDataSource(dataSource);
		form.setFields(file.formItem);
		return form;
	}
 

VisitRecordDTO visit=new VisitRecordDTO();
				visit.setAttachment1(form.getValueAsString("attachment1"));
 

 

	public String getPicName(){

		return session["stupic"];	
	}
 

后台代码 (Grails+Groovy):

def upload={
		params.each{
			println it
		}
		
		CommonsMultipartFile uploadFile=params.file
		
	if(!uploadFile.isEmpty()){
		String oFileName=uploadFile.getOriginalFilename()
		Date fname=new Date()
		Long fff=fname.getTime()
		def fileSaveName=fff+oFileName.substring(oFileName.lastIndexOf("."))
		def fileSavePath=request.getRealPath("/")+"uploads\\"+ fileSaveName
		println fileSavePath
		uploadFile.transferTo(new File(fileSavePath) )
		session.setAttribute("stupic",fileSaveName)
		render "上传成功,请关闭提示窗口!"
		}else{
		}

	}
 

如果有不会写的 请给本人留言 谢谢

分享到:
评论

相关推荐

    Groovy / Grails F4

    Groovy / Grails F4 The Best Web Server

    Groovy / Grails F2

    Groovy / Grails F2 The Best Web Server

    Groovy / Grails F3

    Groovy / Grails F3 The Best Web Server

    Groovy/Grails F1

    Groovy Grails , The best web server.

    SmartGwt / Grails 开发的配置图文

    在IT行业中,开发高效、用户友好的Web应用是一项挑战,而SmartGWT和Grails框架的结合使用可以简化这一过程。这两个技术都是为了提高开发效率和产品质量,它们各自有着独特的优点,并且可以协同工作,为开发者提供...

    Groovy轻松入门——Grails实战基础篇

    ### Groovy轻松入门——Grails实战基础篇 #### 搭建Grails环境及创建Grails Demo程序 **Groovy**是一种面向对象的编程语言,它运行于Java平台上,能够与Java代码无缝集成。而**Grails**则是一款基于Groovy的高性能...

    grails login

    **Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。

    Grails登陆实例

    ### Grails登录实例详解 #### 一、简介 本文档将详细介绍如何在Grails框架下构建一个简单的登录系统。此示例不仅展示了基础的登录功能,还包括了密码加密等安全特性。通过本教程,读者可以了解到如何从零开始搭建...

    Grails 和 jQuery开发实例

    在本文中,我们将深入探讨如何使用Groovy on Grails(简称Grails)和jQuery来构建一个功能丰富的Web日历应用程序。Grails是一个基于Java平台的全栈式框架,它简化了Web应用的开发过程,而jQuery则是一款强大的...

    grails快速开发web

    ### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...

    Eclipse下搭建Grails项目

    【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...

    Groovy和Grails配置方法

    ### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...

    grails 使用ajax的例子

    在Grails框架中,Ajax是一种常用的前端技术,用于实现页面的部分刷新,提高用户体验。本教程将深入探讨如何在Grails应用中使用Ajax,通过几个实际的例子来帮助理解其工作原理和常见用法。 1. **Ajax简介** Ajax...

    grails入门指南实例

    Grails是一种基于Java平台的开源Web应用框架,它利用Groovy语言的简洁性和灵活性,为开发者提供了一种高效、快速的开发方式。本指南将深入介绍如何使用Grails结合MySQL数据库来实现用户登录功能,帮助初学者快速入门...

    eclipse开发grails插件

    对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...

    grails中文参考手册

    《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...

    Grails reference card

    此时,你已经拥有一个完整的Web应用,其中包含用于创建、显示、编辑和列出Car实例的页面。可以通过以下命令启动应用: ``` grails run-app ``` Grails默认在端口8080上运行。如果需要更改端口,可使用如下命令: ```...

    Grails中文参考手册

    ### Grails中文参考手册知识点概览 #### 一、简介 Grails是一个高效的、全栈式的Web应用开发框架,专为Java平台设计。它融合了动态语言Groovy的强大特性和Java现有的成熟技术如Spring和Hibernate,旨在降低Java ...

    grails使用freemarker.rar

    标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...

Global site tag (gtag.js) - Google Analytics