loveweiwei
<div id="dialogBtn">
            <a class="easyui-linkbutton" href="#" onclick="addNotice()">确定</a>
            <a class="easyui-linkbutton" href="#"
                onclick="closeDialog();">取消</a>
        </div>

        <div id="addNotice" class="easyui-dialog" title="添加/编辑"
            style="width: 1000px; height: 650px;"
            data-options="iconCls:\'icon-save\',resizable:true,modal:true,closed:true,buttons:\'#dialogBtn\'">
            <div style="padding: 10px 0 10px 60px">
                <form id="noticeForm" method="post" enctype="multipart/form-data">
                    <input type="hidden" id="webId" name="webId" />
                    <input type="hidden" name="websiteMessage.usreId"
                        value="${login_session_key.id }" />
                    <table>
                        <tr>
                            <td>&emsp;&emsp;题:
                            </td>
                            <td  >
                                <input class="easyui-validatebox"
                                    style="width: 149px; height: 20px; border: 1px solid #ccc;"
                                    type="text" name="websiteMessage.title"></input>
                            </td>
                             
                        </tr>

                        <tr>
                            <td>
                                发布方式:
                            </td>
                            <td  >
                                <select id="method" class="easyui-combobox"
                                    name="websiteMessage.publishType" panelHeight="auto"
                                    style="width: 150px;" editable="false" required="true">
                                    <option value="1">站内公告</option>
                                    <option value="2">系统公告</option>
                                </select>
                            </td>
                         
                        </tr>
                        <tr>
                            <td>
                                信息类型:
                            </td>
                            <td id="upId">
                                <select id="type" class="easyui-combobox"
                                    name="websiteMessage.mtype" panelHeight="auto"
                                    style="width: 150px;" editable="false" required="true">
                                </select>
                            </td>
                        </tr>
                        <tr>
                            <td>&emsp;&emsp;容:
                            </td>
                            <td id="addUploadId">
                            
                                <div id="systemNoticeMoren" style="overflow: hidden;">
                                    <textarea id="morenContent"
                                    style="width: 582px; height: 116px; border: 1px solid #ccc;" ></textarea>
                                </div>
                             
                            </td>
                        </tr>
                    </table>
                </form>
            </div>
        </div>

<script type="text/javascript"><!--
        var editxt={};//存储修改的时候的div
        var xt={};//存储系统公告的的 id  >  div1,div2...
        var i=1;
        var hasUpload=false;
        var hasMorenContent=true;//默认的编辑框
        var hasXtContent=false;//默认的编辑框
        var thisWebSiteMessageId=-1;
        var arr={};
        arr[1]="媒体报道";
        arr[2]="网站公告";
        arr[3]="成功案例";
        arr[4]="站内信息";
         
        //普通的文本框,没有带上传功能
        var morenContent="<div id=\'systemNoticeMoren\' style=\'overflow: hidden;\'> <textarea id=\'morenContent\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> </div>";
        var okImg="<img alt=\'\' src=\'/images/oo.gif\'/>"; 
        var errorImg="<img alt=\'\' src=\'/images/xx.gif\'/>"; 
    $(function(){
         
        var method=$(\'#method\');
        var type=$(\'#type\');
         method.combobox({
             onSelect:function(ele){
             resetWebId();
                  if(ele.value==1){
                      if(!hasMorenContent){
                          $(\'#addUploadId\').append(morenContent);
                          hasMorenContent=true;
                      }
                    if(hasXtContent){
                        $(\'#systemNoticeXt\').remove();
                        hasXtContent=false;
                    } 
                     
                    $.each(xt,function(index,ele){
                        $(\'#systemNoticeXt\'+index).remove();
                    });
                    //恢复参数配置
                    resetCash();
                    //移除添加消息的按钮 
                    $(\'#systemNoticeUpload\').remove();
                    
                      type.combobox(\'clear\');
                      type_1(type);
                  }
                  else if(ele.value==2){
                      type.combobox(\'clear\');
                          type_2(type);
                      //移除默认的编辑框
                      $(\'#systemNoticeMoren\').remove();
                      hasMorenContent=false;
                      //绑定系统公告编辑框
                      if(!hasXtContent){
                      //    var xtContent="<div id=\'systemNoticeXt\' style=\'overflow: hidden;\'> <textarea id=\'xtContent\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> "
                        //+"<img alt=\'\' src=\'/images/xx.gif\'><input id=\'file\' name=\'file\' type=\'file\' value=\'选择文件\'/> </div>";
                          hasXtContent=true;
                      }
                  }
             }
         });
    });
      
    function type_1(type){
        type.combobox({
                              valueField: \'id\',
                            textField: \'value\',
                            data: [{
                                id: \'4\',
                                value: \'站内信息\',
                                selected:true
                            }],
                            onSelect:function(rec){
                                resetWebId();
                            }
                          });
    }
    function type_2(type){
        type.combobox({
                              valueField: \'id\',
                            textField: \'value\',
                            data: [{
                                id: \'1\',
                                value: \'媒体报道\',
                                selected:true 
                            },{
                                id: \'2\',
                                value: \'网站公告\'
                            },{
                                id: \'3\',
                                value: \'成功案例\' 
                            }],
                            onSelect:function(rec){
                             resetWebId();
                              var noticeId=rec.id;
                              if(noticeId==1||noticeId==3||noticeId==2){
                                      
                                  if(!hasUpload)
                                  { hasUpload=true;
                                    $(\'#upId\').append(\'<a id="systemNoticeUpload" href="#" onclick="addDiv();">添加消息</a>\');
                                  }
                                      $.each(xt,function(index,ele){
                                        $(\'#systemNoticeXt\'+index).remove();
                                    });
                                     
                                    //恢复参数配置
                                    xt={};//存储系统公告的的 id  >  div1,div2...
                                    i=1;
                                      hasXtContent=false;
                              }else{
                                  if(hasUpload)
                                  { hasUpload=false;
                                    $(\'#systemNoticeUpload\').remove();
                                  }
                              }    
                          }
                      });
    }
    
    function openNotice(){
         resetCash();    
         $(\'#noticeForm\').form(\'reset\');
         $(\'#addNotice\').dialog(\'open\');
         $(\'#webId\').val(\'\');
         type_1($(\'#type\'));
    }
    function addNotice(){
            var time;
            var selectId=$(\'#method\').combobox(\'getValue\');
            var noticType=$(\'#type\').combobox(\'getValue\');
            var paramsId=$("#webId").val();
            if(selectId==1){
                //站内信息
                    if(paramsId==null||paramsId==\'\'){
                    $(\'#noticeForm\').form(\'submit\', {    
                            url:\'<%=basePath%>admin/notice/notice!add.ds\',   
                            onSubmit: function(param){    
                           param["websiteMessage.MContent"]=$(\'#morenContent\').val();
                           param["comId"]=1;//表示选中第一个 2:系统公告 ,1:站内信息
                            
                        }  ,
                            success:function(data){    
                          var json=$.parseJSON(data);
                              $.messager.alert(\'温馨提示\',json.message,\'info\');
                              if(json.success){
                                    $(\'#sysdatabase\').datagrid(\'reload\');
                                   }
                            }    
                    }); 
                }else{
                    var data={
                            \'webId\':paramsId,
                            \'websiteMessage.title\':$("input[name=\'websiteMessage.title\']").val(),
                            \'websiteMessage.MContent\':$("#morenContent").val(),
                            "comId":1
                    }
                        $.post(\'/admin/notice/notice!add.ds\',data,function(data){
                             $.messager.alert(\'温馨提示\',data.message,\'info\');
                              if(data.success){
                                        $(\'#sysdatabase\').datagrid(\'reload\');
                                   }
                        },"json");
                }
            }
            else if(selectId==2){
                //添加消息 comId=2
                if(xt){
                    $.each(xt,function(index,ele){
                     var isSubmit=true;
                         //检查文件
                         var f=document.getElementById(\'file\'+index).files;
                            if(f.length>0){ 
                                var filename=$(\'#file\'+index).val();
                                var suffix=filename.substring(filename.lastIndexOf("."),filename.length);
                                //.jpg,.png,.peng,.gif,.mp4,avi
                                if(suffix!=".png"&&suffix!=".jpeg"&&suffix!=".jpg"&&suffix!=".gif"&&suffix!=".avi"&&suffix!=".mp4"){       
                                       alert("文件格式不对,请选择格式【.jpg,.png,.peng,.gif,.mp4,avi】的文件");         
                                       isSubmit=false;
                                   }
                                if(suffix==".png"||suffix==".jpeg"||suffix==".jpg"||suffix==".bmp"||suffix==".gif"){
                                    var filesize=f.size/1024;//KB
                                    if(parseInt(filesize)>1024){
                                        alert(\'图片不能大于1M\');
                                         isSubmit=false;
                                    }
                                }
                                if(suffix==".avi"||suffix==".mp4"){
                                    var filesize=f.seize/1024/1024;//M
                                    if(filesize>20){
                                        alert(\'视频不能大于20M\');
                                         isSubmit=false;
                                    }
                                }
                            }
                         //提交文件
                         if(isSubmit){ 
                            var getFile=$(\'#file\'+index);
                            $(\'#noticeForm\').form(\'submit\',{
                                url:\'<%=basePath%>admin/notice/notice!add.ds\',
                                onSubmit:function(pa){
                                    pa["comId"]=2;//表示选中第一个 2:系统公告 ,1:站内信息
                                    pa["websiteMessage.MContent"]=$(\'#xtContent\'+index).val();
                                     //获取是否选择文件
                                    var f = document.getElementById("file"+index).files.length; 
                                    if(f>0)
                                    {
                                            pa["file"]=getFile.attr(\'name\',\'file\');//更改文件的nam属性
                                            pa["fileName"]=$(\'#file\'+index).val();
                                    }
                                    
                                    pa["noticType"]=noticType;
                                    pa["uploadCount"]=index;//索引值
                                },
                                success:function(data){
                                data=$.parseJSON(data);
                                    if(data.success){
                                      $(\'#systemNoticeXt\'+index).append(okImg);
                                    }
                                    else{
                                          $(\'#systemNoticeXt\'+index).append(errorImg);
                                         if(data.code==-1)
                                          $(\'#systemNoticeXt\'+index).append("<font color=\'red\'>"+data.message+"</font>");
                                      }
                                }
                            });
                        }
                        //还原文件的名字
                        $(\'#file\'+index).attr(\'name\',\'file\'+index);//更改文件的nam属性
                        //设置时间,避免得到重复值
                        time=setInterval(function(){},1000);
                    });
                }<%--else if(editxt){
                    
                    $.each(editxt,function(index,ele){
                        var eisSubmit=true;
                         //检查文件
                         var ef=document.getElementById(\'file\'+index).files;
                            if(ef.length>0){ 
                                var efilename=$(\'#file\'+index).val();
                                var esuffix=efilename.substring(efilename.lastIndexOf("."),efilename.length);
                                //.jpg,.png,.peng,.gif,.mp4,avi
                                if(esuffix!=".png"&&esuffix!=".jpeg"&&esuffix!=".jpg"&&esuffix!=".gif"&&esuffix!=".avi"&&esuffix!=".mp4"){       
                                       alert("文件格式不对,请选择格式【.jpg,.png,.peng,.gif,.mp4,avi】的文件");         
                                       eisSubmit=false;
                                   }
                                if(esuffix==".png"||esuffix==".jpeg"||esuffix==".jpg"||esuffix==".bmp"||esuffix==".gif"){
                                    var efilesize=ef.size/1024;//KB
                                    if(parseInt(efilesize)>1024){
                                        alert(\'图片不能大于1M\');
                                         eisSubmit=false;
                                    }
                                }
                                if(esuffix==".avi"||esuffix==".mp4"){
                                    var efilesize=ef.seize/1024/1024;//M
                                    if(efilesize>20){
                                        alert(\'视频不能大于20M\');
                                         eisSubmit=false;
                                    }
                                }
                            }
                         //提交文件
                         if(eisSubmit){ 
                            var egetFile=$(\'#file\'+index);
                            $(\'#noticeForm\').form(\'submit\',{
                                url:\'<%=basePath%>admin/notice/notice!add.ds\',
                                onSubmit:function(pa){
                                    pa["comId"]=2;//表示选中第一个 2:系统公告 ,1:站内信息
                                    pa["websiteMessage.MContent"]=$(\'#xtContent\'+index).val();
                                    pa["webId"]=$(\'#webId\').val();
                                     //获取是否选择文件
                                    var af = document.getElementById("file"+index).files.length; 
                                    if(af>0)
                                    {
                                            pa["file"]=egetFile.attr(\'name\',\'file\');//更改文件的nam属性
                                            pa["fileName"]=$(\'#file\'+index).val();
                                    }
                                    
                                    pa["noticType"]=noticType;
                                    pa["uploadCount"]=index;//索引值
                                },
                                success:function(data){
                                data=$.parseJSON(data);
                                    if(data.success){
                                      $(\'#systemNoticeXt\'+index).append(okImg);
                                    }
                                    else{
                                          $(\'#systemNoticeXt\'+index).append(errorImg);
                                         if(data.code==-1)
                                          $(\'#systemNoticeXt\'+index).append("<font color=\'red\'>"+data.message+"</font>");
                                      }
                                }
                            });
                        }
                        //还原文件的名字
                        $(\'#file\'+index).attr(\'name\',\'file\'+index);//更改文件的nam属性
                        //设置时间,避免得到重复值
                        time=setInterval(function(){},1000);
                    });
                }--%>
                //刷新表格
                 $(\'#sysdatabase\').datagrid(\'reload\');
            }
            clearInterval(time); 
    }
    
    //添加系统公告的div
    function addDiv(){
    var xtContent="<div id=\'systemNoticeXt"+i+"\' style=\'overflow: hidden;\'> <textarea id=\'xtContent"+i+"\' style=\'width: 582px; height: 116px; border: 1px solid #ccc;\' ></textarea> "
    +"<a href=\'#\' onclick=\'removeDiv("+i+");\'><img alt=\'\' src=\'/images/remove1.gif\'></a><input id=\'file"+i+"\' name=\'file"+i+"\' type=\'file\' value=\'选择图片\'/>  </div>";
        $(\'#addUploadId\').append(xtContent);
        var arrDiv={};
        arrDiv["systemNoticeXt"+i]="systemNoticeXt"+i;
        arrDiv["xtContent"+i]="xtContent"+i;
        arrDiv["file"+i]="file"+i;
        xt[i]=arrDiv;
        i++;
    }
    function removeDiv(divID){
        $(\'#systemNoticeXt\'+divID).remove();
        delete xt[divID];
    }
    function editNotice(){
        var j=$("#sysdatabase").datagrid("getSelected");
        if(!j){
            $.messager.alert("温馨提示","请选择一行数据","info");
            return ;
        }
        var publishType=j.publishType;
        if(publishType==1){
            $(\'#noticeForm\').form(\'load\',{
                "websiteMessage.title":j.title,
                "websiteMessage.mtype":arr[j.mtype],
                "websiteMessage.publishType":j.publishType,
                "websiteMessage.MContent":j.MContent,
                "webId":j.id
            });
            $(\'#morenContent\').val(j.MContent);
            $(\'#addNotice\').dialog(\'open\');
        }
         else if(publishType==2){
                 $.messager.alert(\'温馨提示\',\'系统公告不能修改\',\'info\');
         }
    }
    
    function deleteNotice(){
         var data=$(\'#sysdatabase\').datagrid(\'getSelected\');
         if(!data){
             $.messager.alert(\'温馨提示\',\'请选择数据\',\'info\');
             return;
         }
         $.messager.confirm(\'确认对话框\',\'是否删除?\',function(r){
             if(r){
                 $.post(\'<%=basePath%>admin/notice/notice!delete.ds\',{"id":data.id},function(d){
                     $.messager.alert(\'温馨提示\',d.message,\'info\');
                     if(d.success)
                     $(\'#sysdatabase\').datagrid(\'reload\');
                 });
             }
         });
    }
    function closeDialog(){
        $(\'#addNotice\').dialog(\'close\');
        resetCash();
    }
    //恢复参数
    function  resetCash(){
        //初始化参数
        $.each(xt,function(index,ele){
            $(\'#systemNoticeXt\'+index).remove();
        });
        $(\'#systemNoticeUpload\').remove();
        xt={};//存储系统公告的的 id  >  div1,div2...
        i=1;
        hasUpload=false;
        hasMorenContent=true;//默认的编辑框
        hasXtContent=false;//默认的编辑框
        resetWebId();
    }
    function resetWebId(){
        $.post(\'<%=basePath%>admin/notice/notice!resetWebId.ds\');
    }
     
  </script>

java

上传

 /**
     * 
     * 基于struts2的文件上传
     * @param file 源文件
     * @param fileName 文件名
     * @param path 路径 :  /xx/
     */
    public static String  struts2uploadfile(File file,String fileName,String path) throws IOException{
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");// 格式化时间输出
        String Rname = sdf.format(new Date());// 取得当前时间,Date()是java.util包里的,这作为真实名称
        if(StringUtils.isNotBlank(fileName)){
                String realPath=ServletActionContext.getServletContext().getRealPath(path);
                File f=new File(realPath);
                if(!f.getParentFile().exists()){
                    f.getParentFile().mkdirs();
                }
                String houzhui=fileName.substring(fileName.lastIndexOf("."), fileName.length());
                Rname+=houzhui;
                File saveFile=new File(f, Rname);
                FileUtils.copyFile(file, saveFile);
        }
        return path+Rname;
    }

分类:

技术点:

相关文章: