小弟初次学习Struts标签。对其中的一个标签弄不懂,我郁闷了好久了,这才来找各位帮忙了。
我在做一个有关文件的上传的例子,我想用Struts标签实现,但就是出错,我也不知道怎么办,于是希望大家给我提供一个例子,希望各个配置都要详细点,小弟刚学,很多地方不懂。谢谢了,问题解决一定及时给分!
其实很简单就是在<html:form>中实现<html:file>标签,其余什么都不要!
我在做一个有关文件的上传的例子,我想用Struts标签实现,但就是出错,我也不知道怎么办,于是希望大家给我提供一个例子,希望各个配置都要详细点,小弟刚学,很多地方不懂。谢谢了,问题解决一定及时给分!
其实很简单就是在<html:form>中实现<html:file>标签,其余什么都不要!
STRUTS自己带的例子都有的!
看到有个upload.war
不知道楼上说的是不是这个 ?
这个例子还真是没有看过。。
upload.jsp
<%@ page language="java" pageEncoding="gb2312"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>MyJsp.jsp</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<form action="getFile.jsp" method="post" enctype="multipart/form-data">
<tr>
<td width="14%" height="26">上传附件</td>
<td width="76%" colspan="3" height="26">
<input type="file" name="upload"/>
</td>
<td>
<input type="submit" name="submit" value="开始上传">
</tr>
</form>
</body>
</html:html>getFile.jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="com.jspsmart.upload.*"%>
<!--使用jspsmart组件上传文件的示例-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#ffffff">
<%
//文件上传最大长度
final int maxFileSize = 300*1024*1024;
//上传文件所存放的目录
final String uploadFullPath = "d:\\upload";
SmartUpload smartUpload = new SmartUpload();
smartUpload.setMaxFileSize(maxFileSize);
//初始化smartUpload对象
smartUpload.initialize(pageContext);
try {
//上传文件
smartUpload.upload();
//处理每一个文件
for (int i = 0; i < smartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File uploadFile =
smartUpload.getFiles().getFile(i);
//获得上传的文件名
String fileName = uploadFile.getFileName();
out.println("文件"+i+"名称:"+fileName+"<br>");
fileName = fileName.substring(0, fileName.lastIndexOf("."));
out.println("不含扩展名的文件"+i+"名称:"+fileName+"<br>");
String fileExt = uploadFile.getFileExt();
out.println("文件"+i+"的扩展名:"+fileExt+"<br>");
//处理存放上传文件的目录
java.io.File dir = new java.io.File(uploadFullPath);
if (!dir.exists()) dir.mkdirs();
//此处可能要处理存放的文件名,比如对同名的处理
//保存文件
uploadFile.saveAs(uploadFullPath + java.io.File.separator +
fileName+"."+fileExt,
smartUpload.SAVE_PHYSICAL);
//上传之后处理业务
}
} catch (Exception e) {
//转向出错页面
out.println("文件上传错误,错误:" + e.getMessage());
}
//转向成功页面
out.println("文件上传成功!");
%>
</body>
</html>