zoukankan      html  css  js  c++  java
  • JAVA------23.上传excel2003至服务器,并存取session,select、option控件,ajax异步处理,返回数据

    jar包链接:http://pan.baidu.com/s/1boSLFNT 密码:imgo

      链接:http://pan.baidu.com/s/1slI0e5J 密码:ul4x

    目标:选择文件、上传,存session,读取

    选择

    1.环境:sturts+action

      上传:

        <form action="BannerAction.action" method="post" enctype="multipart/form-data">
                                                    <table width="100%" border="0" cellspacing="0"
                                                        cellpadding="0">
                                                        <tr>
                                                            <td>选择文件:</td><td><input type="file" name="myFile" class="myFile" /></td>
                                                        </tr>
                                                        <tr>
                                                            <td ><input
                                                                type="submit" value="上传" /> <input type="reset"
                                                                value="重置" /></td>
                                                        </tr>
                                                    </table>
                                                </form>

    2.action 存取目录,并存session 值

     

    package com.action;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.util.OSSUtils;
    /**
     * 首页轮回图片上传
     * @author caipei
     *
     */
    public class BannerAction extends ActionSupport{
          
        // myFile属性用来封装上传的文件  
        private File myFile;  
          
        // myFileContentType属性用来封装上传文件的类型  
        private String myFileContentType;  
      
        // myFileFileName属性用来封装上传文件的文件名  
        private String myFileFileName;  
          
        //获得myFile值  
        public File getMyFile() {  
            return myFile;  
        }  
      
        //设置myFile值  
        public void setMyFile(File myFile) {  
            this.myFile = myFile;  
        }  
      
        //获得myFileContentType值  
        public String getMyFileContentType() {  
            return myFileContentType;  
        }  
      
        //设置myFileContentType值  
        public void setMyFileContentType(String myFileContentType) {  
            this.myFileContentType = myFileContentType;  
        }  
      
        //获得myFileFileName值  
        public String getMyFileFileName() {  
            return myFileFileName;  
        }  
      
        //设置myFileFileName值  
        public void setMyFileFileName(String myFileFileName) {  
            this.myFileFileName = myFileFileName;  
        }  
      
        public String execute() throws Exception {  
            
            HttpServletResponse response=null;
            response=ServletActionContext.getResponse();
            response.setContentType("text/html;charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            PrintWriter out=response.getWriter();
            //创建session对象
            HttpSession session=ServletActionContext.getRequest().getSession();
            if (session.getAttribute("id")==null) {
                out.print("<script lanaguage='javascript'>alert('请重新登录');window.location='login.jsp';></script>");
                out.flush();
                out.close();
                return null;
            }
    
            
            
            
            //基于myFile创建一个文件输入流  
            InputStream is = new FileInputStream(myFile); 
            // 设置上传文件目录  
            String uploadPath = ServletActionContext.getServletContext()  
                    .getRealPath("/upload");  
            
         // 设置目标文件  
            File toFile = new File(uploadPath, this.getMyFileFileName());  
              
            // 创建一个输出流  
            OutputStream os = new FileOutputStream(toFile);  
      
            //设置缓存  
            byte[] buffer = new byte[1024];  
      
            int length = 0;  
      
            //读取myFile文件输出到toFile文件中  
            while ((length = is.read(buffer)) > 0) {  
                os.write(buffer, 0, length);  
            }  
            System.out.println("上传文件名"+myFileFileName);  
            System.out.println("上传文件类型"+myFileContentType);  
            //关闭输入流  
            is.close();  
              
            //关闭输出流  
            os.close();
            
            //设置session 存储文件目录
            session.setAttribute("filePath", uploadPath+"/"+myFileFileName);
            
            /*try {
                // 获取原始文件名
                String originalName = this.getMyFileFileName();
                // 获取文件的后缀
                //String suffix = originalName.substring(originalName.lastIndexOf(".") + 1);
    
                String  path=OSSUtils.uploadImage(is,
                        "yxServer/" + StringUtils.replace(originalName, "." + suffix, "")
                                + UUID.randomUUID().toString().replaceAll("-", "").toString() + "." + suffix,
                        "");
                
                String url = OSSUtils.uploadImage(FileUtils.openInputStream(new File(uploadPath+"/"+originalName)),"yxServer/"+originalName, "");
                
                
                System.out.println(url);
                
            } catch (Exception e) {
                e.printStackTrace();
            }*/
              
            return SUCCESS;  
        } 
                
                
    }

    3.struts配置

    <action name="BannerAction" class="com.action.BannerAction">
             <result name="success" type="chain">MachineDeliverAction</result>
             
            </action>

    4.选择权限,分配机器

    js:代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>后台系统</title>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="Style/Style.css" rel="stylesheet" type="text/css" />
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <script type="text/javascript"
        src="http://121.41.47.176/tbmj/js/param.js"></script>
    <script type="text/javascript"
        src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js"></script>
    </head>
    <script type="text/javascript">
        function selectUser() {
            //获取选项
            var type = document.getElementById('usertype');
            
            /* //省
            var provience = document.getElementById('provience').value;
            
            //市
            var city = document.getElementById('city').value; */
    
            
    
            //var ins=type.selectedIndex ;
    
            //var index=myselect.options[ins];
    
            //0:经销商:1:代理商
            var index = type.selectedIndex;
            
            /* alert("省:" + provience);
            alert("市:" + city); */
            /* if(index == 1){
                var accountSel = document.getElementById("accountNum");
                var opt = document.createElement("OPTION"); //创建option对象
                opt.text = "哈哈";
                //opt.text = 哈哈+"--"+1234;
                //alert("opt.text:"+opt.text);
                //指定新创建元素的text属性值
                opt.value = "67";
                //opt.value = 1;
                //指定新创建元素的value属性值
                accountSel.add(opt); //为select元素添加option
            }
            else { */
            $
                    .ajax({
                        /* url : "http://114.55.74.89/dapail/worker/accountListByArea.action?usertype="
                                + index + "&provience="+provience+"&city="+city+"", */
                                url : "agentList.action?usertype="
                                + index + "",
                        type : "POST",
                        dataType : "json",
                        data : {},
                        success : function(data) {
                            if (true == true) {
                                var dataArray = eval(data.data.agentItems);
                                var accountSel = document
                                        .getElementById("accountNum");
    
                                //alert("_citySel:"+_citySel);
                                //alert("长度:" + dataArray.length);
                                for ( var i = 0; i < dataArray.length; i++) { //遍历XML数据并给select元素添加选项
    
                                    /* alert(dataArray[i].ACCOUNT_PROVINCE);
                                    
                                    alert(dataArray[i].ACCOUNT); */
    
                                    var opt = document.createElement("OPTION"); //创建option对象
                                    opt.text = dataArray[i].ACCOUNT_PROVINCE+ ":"
                                            + dataArray[i].ACCOUNT_CITY+":"+dataArray[i].NAME + ":"
                                            + dataArray[i].ACCOUNT;
                                    //opt.text = 哈哈+"--"+1234;
                                    //alert("opt.text:"+opt.text);
                                    //指定新创建元素的text属性值
                                    opt.value = dataArray[i].ACCOUNT_ID;
                                    //opt.value = 1;
                                    //指定新创建元素的value属性值
                                    accountSel.add(opt); //为select元素添加option
                                }
    
                            } else {
                                alert(data.msg);
                            }
                        },
    
                    });
    
            document.getElementById("setfocus").value = "";
        }
        function newChg() {
            document.getElementById("setfocus").value = "请输入关键字";
        }
    </script>
    <body style="background-image:url(【    )">
        <center>
            <table width="900" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td height="250" background="Images/mid-background.jpg"
                        style="color: #06F; font-size: 19px; font-weight: bolder; padding-left: 50px;"></td>
                </tr>
                <tr>
                    <td height="30" background="Images/MenuBg.jpg">&nbsp;</td>
                </tr>
                <tr>
                    <td height="500" align="center" valign="top"><table width="900"
                            border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td width="191" height="500" align="center" valign="top"
                                    background="Images/leftbg.jpg"><%@ include file="left.jsp"%>
                                </td>
                                <td width="709" align="center" valign="top" bgcolor="#F6F9FE"><table
                                        width="709" border="0" cellspacing="0" cellpadding="0">
                                        <tr>
                                            <td height="30" background="Images/mainMenuBg.jpg"
                                                style="padding-left: 25px;">分配机器</td>
                                        </tr>
                                        <tr>
                                            <td height="470" align="center" valign="top" bgcolor="#F6F9FE">
                                                <form action="BannerAction.action" method="post" enctype="multipart/form-data">
                                                    <table width="100%" border="0" cellspacing="0"
                                                        cellpadding="0">
                                                        <tr>
                                                            <td>选择文件:</td><td><input type="file" name="myFile" class="myFile" /></td>
                                                        </tr>
                                                        <tr>
                                                            <td ><input
                                                                type="submit" value="上传" /> <input type="reset"
                                                                value="重置" /></td>
                                                        </tr>
                                                    </table>
                                                </form>
                                                <form name="form1" method="post"
                                                    action="MachineDeliverAction.action?">
                                                    <table width="100%%" border="0" cellspacing="0"
                                                        cellpadding="0">
                                                        <tr>
                                                            <td >
                                                                查询机器编号:</td>
                                                            <td>机器id: <input name="searchName"
                                                                type="text" class="text1" id=searchName>
                                                                 <input
                                                                type="submit" name="button" id="button" value="查询"></td>
                                                        </tr>
                                                    </table>
                                                </form>
                                                <form name="form" method="post"
                                                    action="MaTieAccountAction.action">
                                                    <table width="100%" border="0" cellspacing="0"
                                                        cellpadding="0">
                                                        <tr align="center" class="t1">
                                                            <td height="25" bgcolor="#D5E4F4"><strong>机器id</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>分配权限</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>分配状态</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>省</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>市</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>区</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>姓名</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>手机号</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>绑定时间</strong></td>
                                                            <td bgcolor="#D5E4F4"><strong>操作</strong></td>
                                                        </tr>
                                                        <s:iterator id="aa" value="machineDeliver">
                                                            <tr align="center">
                                                                <td height="25" align="center">${MACHINE_ID}</td>
                                                                <td>${isAgent}</td>
                                                                <td>${deliver_state}</td>
                                                                <td>${provience}</td>
                                                                <td>${city}</td>
                                                                <td>${area}</td>
                                                                <td>${name}</td>
                                                                <td>${account}</td>
                                                                <td>${dig_time}</td>
                                                                <td align="center">
                                                                <c:if test="${deliver_state=='已分配'}">
                                                                <a href="UnBundQpsAction.action?MACHINE_ID=${MACHINE_ID}&isAgent=${isAgent}">解绑</a>
                                                                </c:if>
                                                                </td>
                                                            </tr>
                                                        </s:iterator>
                                                    </table>
                                                    <table>
                                                        <tr>
                                                                <td height="30" align="right" class="STYLE2">身份:</td>
                                                                <td align="left"><select name="usertype"
                                                                    id="usertype" onblur="selectUser()">
                                                                        <option value="2">代理商</option>
                                                                        <option value="3">经销商</option>
                                                                </select></td>
                                                                
                                                                <!-- <td>省:</td><td><input name="provience" type="text" class="text1" id="provience"></td>
                                                                <td>市:</td><td><input name="city" type="text" class="text1" id="city" ></td> -->
                                                                
                                                                <td>账户列表:</td>
                                                                <td><select name="accountNum" id="accountNum">
                                                                        <option value="0">---请选择--</option>
                                                                </select></td>
                                                                <td><input type="submit" name="button" id="button"
                                                                    value="分配机器"></td>
    
                                                        </tr>
                                                    </table>
                                                </form>
                                            </td>
    
                                        </tr>
                                        <%-- <tr align="center" class="t1">
                                            <td>
                                                <%
                                                    if (!session.getAttribute("setNum").toString().equals("0")) {
                                                %> <a href="MachineAction.action?page=1">上一页</a> <%}%>
                                                <a href="MachineAction.action?page=2">下一页</a>
                                            </td>
                                        </tr> --%>
                                    </table></td>
                            </tr>
                        </table></td>
                </tr>
                <tr>
                    <td height="35" background="Images/bootBg.jpg">&nbsp;</td>
                </tr>
            </table>
    
        </center>
    </body>
    </html>

    3.绑定action

    package com.action;
    
    import java.io.PrintWriter;
    
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import net.sf.json.JSONObject;
    
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.util.ExcelUtil;
    import com.util.UrlUtil;
    
    //绑定机器
    public class MaTieAccountAction extends ActionSupport{
        private String ACCOUNT_ID; //账户id
    
        public String getACCOUNT_ID() {
            return ACCOUNT_ID;
        }
    
        public void setACCOUNT_ID(String aCCOUNT_ID) {
            ACCOUNT_ID = aCCOUNT_ID;
        }
        
        private String accountNum;
        
        
        
        
        
        public String getAccountNum() {
            return accountNum;
        }
    
        public void setAccountNum(String accountNum) {
            this.accountNum = accountNum;
        }
    
        @Override
        public String execute() throws Exception {
            // TODO Auto-generated method stub
            HttpServletResponse response=null;
            response=ServletActionContext.getResponse();
            response.setContentType("text/html;charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            PrintWriter out=response.getWriter();
            //创建session对象
            HttpSession session=ServletActionContext.getRequest().getSession();
            if (session.getAttribute("id")==null) {
                out.print("<script lanaguage='javascript'>alert('请重新登录');window.location='login.jsp';></script>");
                out.flush();
                out.close();
                return null;
            }
    
            //excel路径
            String excelPath=session.getAttribute("filePath").toString();
    
            System.out.println(excelPath);
            
            String maId="";
            
            //读取excel文件
                    String[][] result = ExcelUtil.getData(excelPath, 1);
                    int rowLength = result.length;
                    for(int i=0;i<rowLength;i++) {
                        for(int j=0;j<result[i].length;j++) {
                            if (j==0) {
                                maId=result[i][j];
                            }else
                            {
                                maId=maId+";"+result[i][j];
                            }
                        }
                    }
            
            
            
            String url="dapail/worker/deliverMa.action?accountId="+accountNum+"&maId="+maId+"";
            JSONObject salerJson=JSONObject.fromObject(UrlUtil.getUrl(url));
            String msg=salerJson.get("msg").toString();
            if (msg.contains("成功")) {
                return SUCCESS;
            }
            return msg;
        }
    
    
    }
  • 相关阅读:
    Android(java)学习笔记204:JNI之native方法头文件的生成
    Linux学习笔记01:Linux下的drwxr-xr-x
    Java基础知识强化49:10个实用的但偏执的Java编程技术
    大数据笔记12:Hadoop安装之安装JDK
    大数据笔记11:MapReduce的运行流程
    大数据笔记10:大数据之Hadoop的MapReduce的原理
    大数据笔记09:大数据之Hadoop的HDFS使用
    大数据笔记08:云计算(云)
    Java基础知识强化48:Java中哈希码
    hdu 1397 (素数判定)
  • 原文地址:https://www.cnblogs.com/coriander/p/7079118.html
Copyright © 2011-2022 走看看