DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 经验分享 > Java组件

Struts2多文件上传实现

 %@taglib< /A> prefix="s" uri="/struts-tags"%><HTMLxhtml? 1999 www.w3.org http: xmlns="<Ahref=">http://www.w3.org/1999/xhtml</A>"><HEAD>< ?xml:namespace prefix = s/><s:fielderror>< /s:fielderror><FORMencType=multipart/form-datamethod=postaction=upload.action>文件标题< INPUTname=title>第一个上传文件:<INPUT type=filename=upload>第二个上传文件:< INPUTtype=filename=upload>第三个上传文件:< I name="upload"type="file"NPUT>< INPUT value=上传 type=submit></FORM>


(2)控制器Action

package com.wing.study.upload;

(3)struts.xml配置文件

这里需要控制文件类型和大小。也就是上传文件过滤。

我在这里不采用手动过滤,因为手动过滤要书写大量过滤代码,开发复杂。

所以这里用上传文件拦截器来控制。

< ?xml version="1.0" encoding="UTF-8"?>

"-//Apache Software Foundation//DTD StrutsConfiguration2.0//EN""<Ahref="http://struts.apache.org/dtds/struts-2.0.dtd">http://struts.apache.org/dtds/struts-2.0.dtd">

< STRUTS>< CONSTANTvalue="globalMessages"name="struts.custom.i18n.resources" /><CONSTANT value="GBK"name="struts.i18n.encoding" />

< PACKAGE name="com" extends="struts-default">

< ACTIONclass=com.wing.study.upload.UploadActionname="upload"><INTERCEPTOR-REF name="fileUpload"><Mname="allowedTypes">image/bmp,image/jpeg,image/gif,image/png</M><M name="maximumSize">202400</M></INTERCEPTOR-REF>< INTERCEPTOR-REFname="defaultStack"/>< M name="savePath">/upload</M> < RESULTname="input">/upload.jsp< /RESULT><RESULT>/succ.jsp< /RESULT> < /ACTION></PACKAGE>< /STRUTS>

注意 使用了上传文件拦截器,必须显示的调用默认拦截器栈:defaultStack.

allowedTypes和maximumSize分别过滤文件的类型和大小。

当上传文件不符合定义的要求时,会转向逻辑视图input,然后根据映射转向物理视图upload.jsp

然后根据Struts2标签s:fielderror输出错误信息。当然这里的错误信息你可能不知道是什么。不过可以在国际化资源中将错误信息用中文替代。

当上传文件符合定义的要求时,会转向succ.jsp

这里给出succ.jsp代码。

< %@ page language="java"contentType="text/html;charset=GBK"%><< Ahref="mailto:%@taglib">%@taglib</A> prefix="s"uri="/struts-tags"%><HTML>上传成功!文件标题:< ?xml:namespaceprefix = s /><s:property value=" +title"></s:property>第一个文件为:"/>第二个文件为:"/>第三个文件为:"/>

上传成功后,会依次显示你上传的图片。通过s:property标签来获取图片地址。

由上面可以看出,通过Struts2来实现文件的上传甚至是多文件上传,并不难。

PS:我做的手机带BOSS射击类游戏,目前已经制作了240*320和128*160分辨率的。没办法,开发模拟器很少能找到128*160分辨率的,所以我先做的240*320的然后给朋友测试。但是我的手机又是128*160分辨率的,不能在自己手机上用还是很不乐意的。。所以又用手机测试开发的128*160分辨率。

另外关于RPG游戏的战斗系统和人物菜单系统基本完成。等我把对话系统弄好,就开始开发RPG游戏。

不久前用Swing做了一个类QQ聊天工具的客户端和服务器端。在同学那里测试可以聊天。但是还是未完成版的。

还做了个简单的虚拟桌面,也是Swing做的,集成了我开发的一些小软件在里面。

有人可能会觉得奇怪,为什么我会花时间做JAVA桌面应用。

我只是不想像某些JAVA程序员一样,听说JAVA桌面不行,便不去学习。这也是我对中国程序员感到的一丝悲哀。你说JAVA不能开发游戏,但是偏偏国外就有那么多JAVA3D的网络游戏,并且在运营中。

每当我听见他们说不用学这个不用学那个,就有点愤怒。也许正像大家说的,没有最好的计算机语言,只有最好的程序员。即使是这样,我想,优秀的程序员,在中国,可能绝无仅有了。

下面是截图:

桌面图标可以随意拖动,第一次使用的时候,会创建一个文件夹根目录,用来保存一些信息。这只是非常简单的一个东西。因为我还要花时间做Struts2,JavaME和JavaFX.

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号