您的位置:首页 > 编程语言 > Java开发

Struts2实现多文件上传

2013-05-29 21:04 274 查看
form表单:

<form action="userAction_register" method="post" name="register_form" enctype="multipart/form-data">
<dl class="clearfix">
<dt>用户名:</dt>
<dd>
<input type="text" name="userName" />
</dd>
</dl>
<dl class="clearfix">
<dt>密码:</dt>
<dd>
<input type="text" name="passWord" />
</dd>
</dl>
<dl class="clearfix">
<dt>日期:</dt>
<dd>
<input type="text" name="reDate" />
</dd>
</dl>
<dl class="clearfix">
<dt>坐标:</dt>
<dd>
<input type="text" name="point" />
</dd>
</dl>
<dl>
<dl class="clearfix">
<dt>头像:</dt>
<dd>
<input type="file" name="userFile" />
<input type="file" name="userFile" />
</dd>
</dl>
<dl>
<dt> </dt>
<dd><input type="submit" value="注册"/></dd>
<dd><input type="reset" value="重置"/></dd>
</dl>
</form>


Action类:

public class UserAction implements ModelDriven {
private User user = new User();
private Date reDate;
private Point point;
private File[] userFile;// 得到上传的文件
private String[] userFileContentType;// 得到文件类型
private String[] userFileFileName;// 得到文件名称

public Point getPoint() {
return point;
}

public void setPoint(Point point) {
this.point = point;
}

public File[] getUserFile() {
return userFile;
}

public void setUserFile(File[] userFile) {
this.userFile = userFile;
}

public String[] getUserFileContentType() {
return userFileContentType;
}

public void setUserFileContentType(String[] userFileContentType) {
this.userFileContentType = userFileContentType;
}

public String[] getUserFileFileName() {
return userFileFileName;
}

public void setUserFileFileName(String[] userFileFileName) {
this.userFileFileName = userFileFileName;
}

public Date getReDate() {
return reDate;
}

public void setReDate(Date reDate) {
this.reDate = reDate;
}

public String login() throws Exception {
System.out.println(user.getUserName());
System.out.println(user.getPassWord());
String result = "error";
if (new serviceImpl().isLogin(user)) {
result = "success";
}
return result;
}

public String register() throws Exception{
System.out.println(reDate);
String result="error";
System.out.println(user.getUserName());
System.out.println(user.getPassWord());
//		service service=new serviceImpl();
//		int id=service.addUser(user);
//		if(id>0){
//			result="success";
//		}
if(this.point==null){
System.out.println("null");
}else{
System.out.println(this.point.getX());
System.out.println(this.point.getY());
}

String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
for(int i=0 ;i<userFile.length; i++)
{
File uploadImage = userFile[i];
FileUtils.copyFile(uploadImage, new File(file, userFileFileName[i]));
}
return "success";
}
@Override
public Object getModel() {
return user;
}
}


上传后显示图片:

<img alt=""	 src="images/<s:property value='userFileFileName'/>"/>


总结关键代码:

<form action="userAction_register" method="post" name="register_form" enctype="multipart/form-data">//关键代码:“enctype="multipart/form-data”
<dl class="clearfix">
<dt>头像:</dt>
<dd>
<input type="file" name="userFile" />//关键代码:“name="userFile"”
<input type="file" name="userFile" />
</dd>
</dl>
<dl>
<dt> </dt>
<dd><input type="submit" value="注册"/></dd>
<dd><input type="reset" value="重置"/></dd>
</dl>
</form>


public class UserAction implements ModelDriven {
private File[] userFile;// 得到上传的文件
private String[] userFileContentType;// 得到文件类型
private String[] userFileFileName;// 得到文件名称

public File[] getUserFile() {
return userFile;
}

public void setUserFile(File[] userFile) {
this.userFile = userFile;
}

public String[] getUserFileContentType() {
return userFileContentType;
}

public void setUserFileContentType(String[] userFileContentType) {
this.userFileContentType = userFileContentType;
}

public String[] getUserFileFileName() {
return userFileFileName;
}

public void setUserFileFileName(String[] userFileFileName) {
this.userFileFileName = userFileFileName;
}

public String register() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
for(int i=0 ;i<userFile.length; i++)
{
File uploadImage = userFile[i];
FileUtils.copyFile(uploadImage, new File(file, userFileFileName[i]));
}
return "success";
}
@Override
public Object getModel() {
return user;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: