前台代码 (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 The Best Web Server
Groovy / Grails F2 The Best Web Server
Groovy / Grails F3 The Best Web Server
Groovy Grails , The best web server.
在IT行业中,开发高效、用户友好的Web应用是一项挑战,而SmartGWT和Grails框架的结合使用可以简化这一过程。这两个技术都是为了提高开发效率和产品质量,它们各自有着独特的优点,并且可以协同工作,为开发者提供...
### Groovy轻松入门——Grails实战基础篇 #### 搭建Grails环境及创建Grails Demo程序 **Groovy**是一种面向对象的编程语言,它运行于Java平台上,能够与Java代码无缝集成。而**Grails**则是一款基于Groovy的高性能...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...
groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。
### Grails登录实例详解 #### 一、简介 本文档将详细介绍如何在Grails框架下构建一个简单的登录系统。此示例不仅展示了基础的登录功能,还包括了密码加密等安全特性。通过本教程,读者可以了解到如何从零开始搭建...
在本文中,我们将深入探讨如何使用Groovy on Grails(简称Grails)和jQuery来构建一个功能丰富的Web日历应用程序。Grails是一个基于Java平台的全栈式框架,它简化了Web应用的开发过程,而jQuery则是一款强大的...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
在Grails框架中,Ajax是一种常用的前端技术,用于实现页面的部分刷新,提高用户体验。本教程将深入探讨如何在Grails应用中使用Ajax,通过几个实际的例子来帮助理解其工作原理和常见用法。 1. **Ajax简介** Ajax...
Grails是一种基于Java平台的开源Web应用框架,它利用Groovy语言的简洁性和灵活性,为开发者提供了一种高效、快速的开发方式。本指南将深入介绍如何使用Grails结合MySQL数据库来实现用户登录功能,帮助初学者快速入门...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...
此时,你已经拥有一个完整的Web应用,其中包含用于创建、显示、编辑和列出Car实例的页面。可以通过以下命令启动应用: ``` grails run-app ``` Grails默认在端口8080上运行。如果需要更改端口,可使用如下命令: ```...
### Grails中文参考手册知识点概览 #### 一、简介 Grails是一个高效的、全栈式的Web应用开发框架,专为Java平台设计。它融合了动态语言Groovy的强大特性和Java现有的成熟技术如Spring和Hibernate,旨在降低Java ...
标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...