码迷,mamicode.com
首页 > 其他好文 > 详细

第三方控件

时间:2015-02-01 17:47:11      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

 

 

//导入相关的包

<%@page import="java.io.*,java.util.*,org.apache.commons.fileupload.*" %>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>

boolean bRet = false;
boolean bUpload = false;
String uploadFileName = "";
String fieldName = "";
News news = new News();//实例化封装属性的News对象
news.setCreatedate(new Date());//新闻创建时间
//读取request请求,判断是否 是多部分表达提交(二进制进行数据传输,可能是普通表单,也可能是包含文件表单)
boolean isMultipart=ServletFileUpload.isMultipartContent(request);
//获得文件夹的位置(上传的图片保存在该文件夹中)
String uploadFilePath = request.getSession().getServletContext().getRealPath("/upload/" );
if (isMultipart == true) {
    //创建FileItemFactory实例
    FileItemFactory factory = new DiskFileItemFactory();
    //创建ServletFileUpload实例
    ServletFileUpload upload = new ServletFileUpload(factory);
    try {
        //解析Request请求中的数据(返回一个集合)获取客户端提交过来的所有表单元素
        List<FileItem> items = upload.parseRequest(request);
        for(FileItem item:items){
            //判断表单元素类型,true为普通表单元素,false为文件
            if (item.isFormField()){
                //获取表单元素名字
                fieldName = item.getFieldName();
                //如果表单元素名字为title(判断元素 名称 与表单元素的对应关系)
                if (fieldName.equals("title")){
                    //设置编码为UTF-8
                    news.setTitle(item.getString("UTF-8"));
                }else if(fieldName.equals("id")){
                    String id = item.getString();
                    if (id != null && !id.equals("")){
                        //转换为Int类型
                        news.setId(Integer.parseInt(id));
                    }

                }else if (fieldName.equals("categoryId")){
                    news.setCateforyId(Integer.parseInt(item.getString()));
                }else if (fieldName.equals("summary")){
                    news.setSummary(item.getString("UTF-8"));
                }else if (fieldName.equals("newscontent")){
                    news.setContent(item.getString("UTF-8"));
                }else if(fieldName.equals("author")){
                    news.setAuthor(item.getString("UTF-8"));
                }
            }else{
                //读取文件元素的名称
                String fileName = item.getName();
                if (fileName != null && !fileName.equals("")) {
                    //获取上传文件的名称,并通过名称创建一个新File实例
                    File fullFile = new File(item.getName());
                    //从路径中提取文件本身名称,并构建一个新的file实例
                    File saveFile = new File(uploadFilePath, fullFile.getName());
                    //写入文件,开始 上传
                    item.write(saveFile);
                    //获取上传文件名称
                    uploadFileName = fullFile.getName();
                    //新闻对象中保存上传文件名称
                    news.setPicpath(uploadFileName);
                    //上传图片
                    bUpload = true;
                }
            }
            
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
System.out.println("上传成功后的文件名是::"+news.getPicpath());

    //调用后台方法,将新闻信息插入数据库
    bRet=newsService.addNews(news);
%>

<%
if (bRet) {
    //新闻添加成功跳转新闻列表页
    response.sendRedirect("newsDetailList.jsp");
} else {
    //失败跳转到新闻添加的页面
    response.sendRedirect("newsDetailCreate.jsp");
}
%>

 

第三方控件

标签:

原文地址:http://www.cnblogs.com/lgxstudy/p/4265764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!