1
回答
利用java的反射给javaBean自动赋值的工具类问题..
【寻找人气王】邀新用户免费体验华为云服务,百元话费等你拿!   

原因是这样的,最近经常用的上传问题,但每次写太麻烦,所以就想利用java的反射机制写一个工具类,解决目前问题。

用到的组件:commons.fileupload

这个工具只需要传进一个Request请求,表单的name(是一个String数组),还要区分是不是上传的图片,如果是普通表单就把表单的值,保存到属性中,如果不是就获得图片的名字,和图片的类型保存到属性中。,出于技术的原因,想了两天,也做了两天,没做出来,还望osChina的各位网友给解决下.

代码如下:

package cn.auction.utils;

import java.io.UnsupportedEncodingException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUpload {
    public static void commonsFileUpLoad(HttpServletRequest request,String[] parameter){
        DiskFileItemFactory factory=new DiskFileItemFactory();
        ServletFileUpload upload=new ServletFileUpload(factory);
        
        try {
            List<FileItem> fileItems=upload.parseRequest(request);
            for(FileItem item:fileItems){
                if(item.isFormField()){
                    String formData=item.getFieldName();
                    String formValue=item.getString("UTF-8");
                    for(String str:parameter){
                        if(formData.equals(str)){
                            //普通表单
                            
                        }else{
                            
                            //上传的图片
                        }
                    }
                }
                
            }
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
        
    }

}


举报
刘离勇
发帖于4年前 1回/900阅
顶部