weapon项目增加文件上传功能
为weapon项目增加了图片上传功能。 这需要服务器端(Spring MVC)和客户端(GWT)两部分程序。 发送文章为PDF
为weapon项目增加了图片上传功能。 这需要服务器端(Spring MVC)和客户端(GWT)两部分程序。 发送文章为PDF
在gwt框架内找了很多办法,都不能解决图片的动态加载问题。当然刷新页面可以解决,但这相当于重新加载gwt模块了。 gwt使用Image类加载图片,使用url作为参数,结果就是相同的url只加载一次,而后不再向服务器发起请求。这样即使服务器端设置no cache等特性也无济于事。 解决办法,是在flash和ajax应用中普遍使用的办法,即给请求加时间戳。这样每次请求都不一样,gwt就必须再次发起get请求了。 代码: this.image = new Image("/getImage.do?id=" + weapon.getId()+"&time="+System.currentTimeMillis()); 发送文章为PDF
weapon项目已经可以加载图片了,见weapon项目增加图片的显示。但是静态的。 使用spring mvc动态加载图片文件,然后将流写入到Servlet输出流中。 代码如下: @RequestMapping("/getImage.do") public void getImage(@RequestParam("id") String id, HttpServletRequest request, HttpServletResponse response) { response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); if (id == null || id.isEmpty()) { id = "1"; } try { OutputStream outputStream = response.getOutputStream(); BufferedInputStream inputStream = new BufferedInputStream( new [...]
如果只是编辑文字,过于枯燥了。给weapon项目的每个记录增加一个图片。 目前还是写死在程序里面的。 稍后将改为可修改的上传的图片。这需要使用文件上传功能。另外,目前的图片如果发生改变,不刷新页面的话,会使用缓存,也需要处理。 源代码: http://easymorse.googlecode.com/svn/tags/Weapons-0.4.5/ 日志引用weapon项目服务器端动态加载图片 发送文章为PDF
做了个简单的处理,将weapon项目中的表单处理为对话框。 做的不是很彻底,只是简单的。细作的话,需要调整事件处理部分。 截图: 发送文章为PDF
增加了更新记录的功能。 这样,基本上临摹google mvp的过程结束了。 在实现这个功能的时候,没有碰到技术方面的问题,这里需要注意的是,修改过程,其实包含了: 根据所选列表的行号,找到数据模型列表的对象; 在发出更新事件时,传递这个对象的id; 事件的处理代码,用这个id到服务器端获取记录数据,如果没有返回null,这时依然打开编辑表单界面,相当于增加新记录,如果有记录,则填充表单; 保存功能新增和修改使用的是同一个代码,只是如果传递id,服务器端认为是修改。 源代码: http://easymorse.googlecode.com/svn/tags/Weapons-0.4.1/ 发送文章为PDF
正打算给weapon项目增加修改条目的功能。 随意增加了一条空记录。觉得还是先校验一下名称为空的记录吧。 代码很简单,实现的功能也很简单。 发送文章为PDF
weapon项目,已经实现了列表和删除功能。继续临摹google mvp项目。实现增加新记录的功能。 目前实现功能截图,列表功能: 增加新记录: 保存后的效果: 发送文章为PDF
为weapon项目(gwt实现基于spring的json应用实例)增加了删除功能。增加了基本的事件处理机制。主要是event包下面的类。 在原有列表功能基础上增加了删除功能。不过还不完善,没有加上地址栏历史处理部分。 主要需要解决的是,删除功能,因为改变了资源,通过的是POST方法(当然最好是用DELETE方法)。 发送文章为PDF
在这里写了一个实例,我管它叫“武器列表”。仿google GWT的mvp示例写的,它的示例是为了演示MVP开发模式写的,见: http://code.google.com/p/gwt-mvp-sample/ 但是这个示例使用的是rpc方式和服务器通信。我们使用spring 3.0和json通信。 因此参照它写了个简单的实例,主要是解释json数据如何发送和如何获取。另外,临摹了一下,体会mvp模式。 日志引用gwt weapon项目增加删除功能 发送文章为PDF
Patagonia Theme designed by Wp Themes Planet and proudly powered by WordPress