在使用文件上传的时候通遇到一个问题:获取不了除了文件外的表单数据!(NULL值)
原理我就不讲了,直接上解决方法之一(因为目前我只会这一个......)
解决方法:使用模型驱动ModelDriven(注意表单控件的name属性设置)
例子:
前台
<form action="...." method="post" enctype="multipart/form-data">
<input type="text" name="name"/>
<input type="text" name="pwd"/>
<input type="file" name="photo" />
<input type="submit" value="提交"/>
</form>
后台
public class test extends ActionSupport implements ModelDriver<User>{
private User user = new User();
private File photo;
private String photoFileName;
public String ipload()
{
System.out.println(user.getName());
......
}
public TbShowEntity getModel() {
return user;
}
public File getPhoto() {
return photo;
}
public void setPhoto(File photo) {
this.photo = photo;
}
public String getPhotoFileName() {
return photoFileName;
}
public void setPhotoFileName(String photoFileName) {
this.photoFileName = photoFileName;
}
}
当然也可以用其他方法,比如Apache文件上传组件等等。
以上仅供参考