Struts2中的参数传递 - 编程入门网
s FileComponent implements Serializable {
private static final long serialVersionUID = 4594003082271182188L;
private File upload;
private String fileName;
/**
* The default constructor
*/
public FileComponent() {
}
/**
* @return Returns the upload.
*/
public File getUpload() {
return upload;
}
/**
* @return Returns the fileName.
*/
public String getFileName() {
return fileName;
}
/**
* @param upload
* The upload to set.
*/
public void setUpload(File upload) {
this.upload = upload;
}
/**
* @param fileName
* The fileName to set.
*/
public void setFileName(String fileName) {
this.fileName = fileName;
}
/**
* @param fileName
* The fileName to set.
*/
public void setUploadFileName(String uploadFileName) {
this.fileName = uploadFileName;
}
}
Struts2中的参数传递(7)时间:2011-02-04在这个类中,我定义了upload表示上传的文件,fileName表示上传文件的文件名。请注意我整个文件中的最后一个方法:setUploadFileName。这个方法将保证FileUploadInterceptor在运行时,能够正确设置上传的文件名。 Java代码
这样,在Action中,我们将面对一个个完整的fileComponent对象,其中包括文件的引用、文件名称和其他文件信息。这样就不会因为上传多个文件而手足无措,你只需要使用fileComponent数组,就能轻松对上传的文件进行管理,而避免了在Action中书写许多个文件、文件名等属性了。 对于第二个问题,目前我也没有找到很好的方法。我所采用的方式与Yulimin是一致的: Yulimin 写道 我现在的做法是表单中增加了一个隐藏域,当用户文件选择后,利用JS截取到用户选择的文件名,然后一起提交上去。 不知道有没有最终的解决方法? 自定义的类型转化实现 Struts2在处理参数传递的过程中,需要完成类型转化,保证页面上的字符串能够转化成各式各样的Java对象。而这一点,其实也是由OGNL完成的。还记得我们在讲述OGNL的基础知识的时候列出来过的一个接口嘛? Java代码
在这个接口中,我们可以在使用OGNL的时候,注册针对某个Class级别的自己实现的TypeConverter,这样,OGNL就会在进行设值计算和取值计算的时候,使用自定义的类型转化方式了。让我们来看看TypeConverter的接口定义: Java代码
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |