参考网上设置和dwr3的例子,做一个文件上传的小东西,但是发现有问题
dwr.xml 和web.xml的配置不再多说。
js:
<head>
<script type='text/javascript' src='/sxnicoa/dwr/engine.js'> </script>
<script type='text/javascript' src='/sxnicoa/dwr/util.js'> </script>
<script type='text/javascript' src='/sxnicoa/dwr/interface/DwrUpload.js'></script>
<script type="text/javascript">
function uploadFiles() {
var file = dwr.util.getValue('uploadImage');
DwrUpload.uploadImage(file,function(data) {
dwr.util.setValue('image', data);
});
}
</script>
html:
<table class="plain grey form">
<tr>
<th>Image:</th>
<td><input type="file" id="uploadImage" size="30"/></td>
</tr>
<tr>
<th>File:</th>
<td><input type="file" id="uploadFile" size="30"/></td>
</tr>
<tr>
<th>Color:</th>
<td>#<input type="text" id="color" value="FFFFFF" size="7"/></td>
</tr>
<tr>
<th></th>
<td>
<button onclick="uploadFiles()">Upload</button>
</td>
</tr>
</table>
<img id="image" src="javascript:void(0);"/>
java:
public class DwrUpload {
private static Logger logger = LoggerFactory.getLogger(DwrUpload.class);
public void uploadFile(String uploadFile) {
logger.debug("uploadFile==="+uploadFile);
}
public BufferedImage uploadImage(BufferedImage uploadImage)
{
logger.debug("uploadImage==="+uploadImage);
AffineTransform atx = new AffineTransform();
atx.scale(200d / uploadImage.getWidth(), 200d / uploadImage.getHeight());
// AffineTransformOp.TYPE_BILINEAR is very slow
AffineTransformOp afop = new AffineTransformOp(atx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
uploadImage = afop.filter(uploadImage, null);
return uploadImage;
}
}
如果上传页面是html则上传没问题,即不使用struts2的过滤器,不经过struts2的拦截器,如果上传页面改为jsp,即在struts2的框架内,则提示错误"Failed to find parameter: scriptSessionId"。
问题已解决:需注意的地方是java方法中的参数必须是BufferedImage,InputStream,FileTransfer三种中其中一个,一般推荐使用FileTransfer,可以获取文件名、文件类型、和内置的inputStream。
再有web.xml配置的struts2 filter-mapping不能为/*
可以设置成:
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.jspa</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
分享到:
相关推荐
DWR的各种版本Jar文件——dwr2.0.5.jar、dwr2.0.6.jar、dwr3.rc1.jar
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00 方便学生使用的工具文档 里面有比较全的经典配置文件示例 更多请见我博客 http://blog.csdn.net/shadowkiss
DWR+jquery2.x+easyUI1.3.x开发富客户端应用
dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar ...Sources: dwr-3.0.0.116.rc1-src.zip (71Mb) See also the sources from SVN Non-CLA JAR: dwr-noncla.jar (15.8kb) Code that we don't have a CLA for
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置
dwr.jar bsf.jar jdom.jar jsf-api.jar
开发Dwr所需的jar包,js文件:dwr.jar engine.js util.js
DWR初学者专题,有详细笔记。 DWR很轻松就学会。 取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做...
DWR2.0 相关配置文件 DWR2.jar + DWR.xml + DWR2.0.dtd + Web.xml
dwr3.x的实例,其中有反转ajax,轮询,文件上传,下载,时钟,编辑,查询等实例。
dwr dwr包 dwr3.0文档 dwr3.0.jar
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
dwr与struts2简介,Struts2的Ajax支持介绍,基于Ajax的输入校验等
struts2.spring.hibernate.dwr整合的一个小项目 里面综合了struts2验证. 水印验证码。 注册时候判断用户名是否存在的dwr. 利用spring的AOP实现打印日志报告
dwr-1.1.3.jar及dwr.xml. dwr-1.1.3与dwr-2.0的dwr.xml略有区别: dwr-1.1.3 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...
DWR中文文档.pdfDWR中文文档.pdfDWR中文文档.pdfDWR中文文档.pdf
a simple example is to help others
DWR框架的jar包dwr-2.0RC1.jar
struts1+spring+hibernate+dwr 项目 满意度调查struts1+spring+hibernate+dwr 项目 满意度调查struts1+spring+hibernate+dwr 项目 满意度调查struts1+spring+hibernate+dwr 项目 满意度调查