搞了我一下午,郁闷死啦
webwork 修改图片报错
webwork上传图片,没有选择,表单VO 获取不到值,或
String testFck = ServletActionContext.getRequest().getParameter("testFck");
获取为空
添加上传图片,则没有错
即:<input type="file" name="files" id="upload" size="15" />
必须赋值,但是业务需求,有时候不需要更改头像,则无法完成
解决方案:动态创建表单
function uploadPhoto()
{
var TEMP = '<input type=\"file\" name="files" id=\"upload\" size=\"15\" /><input type=\"button\" name="btn" id=\"btn\" value=\"取消\" onclick=\"quxiao()\"/>';
document.getElementById('uploadPhoto').innerHTML = TEMP;
}
function quxiao()
{
document.getElementById('uploadPhoto').innerHTML = '';
}
JSP
<a href ="#" onclick="uploadPhoto()"><img src="<%=path %>/upload/<ww:property value = "#request['MAVIN'].expertPhoto" />" width="80" height="60" /></a>
<div id="uploadPhoto"></div><span>点击修改图片</span>
</td>
ACTION
System.out.println("***********修改保存专家信息***********");
TbExpertVO expertVO = new TbExpertVO();
//获取 FCK 内容
long mavinId = expert.getExpertId();
String testFck = ServletActionContext.getRequest().getParameter("testFck");
System.out.println("testFck = "+ testFck);
expertVO.setExpertId(mavinId);
expertVO.setExpertInfor(testFck);
expertVO.setExpertName(expert.getExpertName());
expertVO.setExpertOnline(expert.getExpertOnline());
// 文件上传处理
String destPathString = "";
String fileName = "";
if(files != null)
{
File file = files[0]; // 第一个图片 - one
// 保证图片名唯一
String tName = filesFileName[0];
System.out.println("文件上传原图片名字:"+tName);
String endPhoto = tName.substring(tName.lastIndexOf("."),tName.length()).toLowerCase();
// 处理中文图片名字不显示
String fn = String.valueOf(System.currentTimeMillis()+filesFileName[0].hashCode());
System.out.println("中文处理后的图片名字:"+fn);
System.out.println("保存的图片:"+fn+" "+endPhoto);
fileName = fn+endPhoto;
//文件转移到 upload 下面
destPathString = ServletActionContext.getRequest().getRealPath("upload")+File.separator+fileName;
System.out.println("临时文件的保存路径:"+file.getPath()+"\n"+"图片保存路径:"+destPathString);
FileUtilTwo c = new FileUtilTwo(file.getPath(), destPathString);
c.doCopy();
}
if (!fileName.equals(""))
{
expertVO.setExpertPhoto(fileName);
// 图片压缩处理 - 小图片 small_ xx name
ImageCompressHead ic = new ImageCompressHead();
ic.setImageSmall(destPathString);
}
try {
mavinService.modifyUpdateMavin(expertVO);
} catch (BOException e) {
e.printStackTrace();
}
// 查询对象 返回 修改 新页面
TbExpert mavin = new TbExpert();
try {
mavin = mavinService.editMavin(String.valueOf(mavinId));
} catch (BOException e) {
e.printStackTrace();
}
try {
Clob clob = mavin.getExpertInfor();
String FCK = IOUtils.toString(clob.getCharacterStream());
ServletActionContext.getRequest().setAttribute("FCK",FCK);
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
ServletActionContext.getRequest().setAttribute("MAVIN",mavin);
ServletActionContext.getRequest().setAttribute("SAVE_SUCCESS","SAVE_SUCCESS");
return SUCCESS;
分享到:
相关推荐
WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...
WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...
在本文中,我们将深入探讨如何使用WebWork框架来实现一个简单的图片上传功能,并在网页上显示上传的图片。WebWork是Java Web开发中的一种MVC(Model-View-Controller)框架,它提供了一种优雅的方式来处理用户请求、...
1. MVC模式:WebWork2.0遵循MVC设计模式,将业务逻辑、视图展示和数据控制分离,使得开发者可以独立地修改各个部分,降低了耦合度。 2. Action:Action是WebWork2.0中的控制器组件,负责处理用户的请求,执行相应的...
WebWork是一个基于Java的轻量级MVC(Model-View-Controller)框架,它为构建高性能、可维护的Web应用程序提供了强大的支持。WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时...
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 1 和 WebWork 2 都是该框架的不同版本,每个版本都有其特性和改进。 WebWork 1 是早期的版本,提供了基础的MVC...
WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中扮演了重要的角色,尤其是在Struts之前或作为其替代品出现。WebWork提供了许多先进的特性,如动作拦截器、类型转换、强大的异常处理...
OGNL允许开发者方便地访问和修改对象属性,增强了视图的动态性。 三、主要功能 1. 参数绑定:WebWork能够自动将HTTP请求参数绑定到Action的字段上,简化了参数处理。 2. 异常处理:通过全局异常处理器,WebWork...
WebWork 是一个开源的、基于Java的Web应用程序框架,它专为构建动态、交互式的Web应用而设计。这个框架的核心理念是模型-视图-控制器(MVC)架构模式,帮助开发者将业务逻辑、用户界面和数据管理分离开来,从而提高...
WebWork2是一款基于Java的MVC(Model-View-Controller)框架,用于构建Web应用程序。在Web开发领域,它提供了一种结构化和模块化的开发方式,帮助开发者更高效地组织代码并实现业务逻辑。本指南将深入探讨WebWork2的...
这种机制使得开发者可以轻松地在不修改Action代码的情况下,添加新的功能或修改现有行为,大大提高了代码的复用性和可维护性。 ##### 输入校验 WebWork 2.0提供了强大的输入校验功能,能够自动检测和处理表单提交...
**Webwork2 开发指南** Webwork2 是一个基于Java的开源MVC(Model-View-Controller)框架,专门用于构建动态、交互式的Web应用程序。它提供了强大的数据绑定、动作控制、异常处理以及国际化等功能,使得开发者能够...
WebWork是一个古老的Java Web开发框架,它在早期的MVC(模型-视图-控制器)架构中占有重要地位,为开发者提供了丰富的功能和强大的动作映射能力。在深入理解WebWork源码之前,我们首先需要了解一些基本概念。 1. **...
**WebWork教程开发资料** WebWork是一个基于Java的MVC(模型-视图-控制器)框架,用于构建Web应用程序。本教程是针对WebWork 0.90版本的初稿,涵盖了大部分章节,但未包括"实战G-Roller-WW"和"WebWork与其它开源...
WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包
WebWork2是一款基于Java的轻量级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,使得构建动态、数据驱动的Web应用变得更加简单和高效。这款框架在2000年代中期较为流行,是Struts的一个...