struts2整合uploadify插件怎样传参数

简介:

关于uploadify3.1,先看下帮助文档中的有些知识。

其中有个onUploadStart方法,我们可以使用这个向后台传参。

下面举个例子,

js:

<script type="text/javascript">
    $(function () {
        $('#actpic').uploadify({
            'debug': false,                             
            'auto': false,                            
            'multi': true,    
            'uploader': 'admin/uploadyear.action', 
            'fileObjName': 'actpic',                      
            'removeCompleted': false,                            
            'progressData': 'percentage',                     
            'buttonText': '附件上传',                     
            'formData':{'getyearid':${getyearid},'statisform_obj_id':${getyearid?default(0)},'statistical_form_name3':'1','remark_name':'1','other_tagsname':'1','idStr':'1'},
            
            'method': 'post',    
            'cancel': 'uploadify/uploadify-cancel.png',
                                   
            'fileSizeLimit': '50MB',                           
            'swf': 'uploadify/uploadify.swf',                 
            'width': 300,
             'onUploadStart':function(file){
                //获取数据
                var statistical_form_name3 = $("#statistical_form_name3").val();
                var other_tagsname = $("#other_tagsname").val();
                var remark_name = $("#remark_name").val();
                alert(statistical_form_name3);
                alert(other_tagsname);
                alert(remark_name);
                // 以下是得到选中的复选框
                var ids = new Array();
                if ($("input[name='tagsname']:checked").size() == 0) {
                    alert("请选择需要检索的标签!");
                    return false;
                }
                $("input[name='tagsname']:checked").each(function(i, obj) {
                    ids[i] = $(obj).val();
                });
                var idStr = ids.join("-");
                alert(idStr);
                
                $('#actpic').uploadify("settings","formData",{'idStr':idStr,'other_tagsname':other_tagsname,'remark_name':remark_name,'statistical_form_name3':statistical_form_name3});
            },
            <#--全部文件上传完触发(将信息进行发送)-->
             'onQueueComplete' : function(queueData) {
             alert("success");
                 
             }
        });
    });
</script>

jsp中body:

<form id= "addFile" class = "pageForm required-validate" method= "POST"  enctype= "multipart/form-data" target= "hidden_frame" >
             <div style= "height:160px;" >
                 <input type = "hidden" id = "getyearid" name = "getyearid" value = "${getyearid?default(0)}" >
                 <p>
                     <label>报表名称:</label>
                     <input name = "statistical_form_name3" id= "statistical_form_name3" type= "text" size= "30" value = "${(statistical_form_name[0][2])?default(" ")}" />
                 </p>
                     <br/><br/><br/><br/>
                 <p>
                     <label>备注:</label>
                     <input name = "remark_name" id= "remark_name"  type= "text" size= "30" value = "${(statistical_form_name[0][5])?default(" ")}" />     
                 </p>
                     <br/><br/><br/><br/>
                 <p>
                     <label>标签:</label>     
                     <# if tags?exists && statisform_obj_tags?exists>
                         <#list tags as tag>  
                             <# if tag[ 0 ]== "yes" >
                                 <${(tag[ 1 ])? default ( "" )}>:${(tag[ 2 ])? default ( "" )}
                                 <input type= "checkbox" name= "tagsname" id= "${(tag[2])}" value= "${(tag[2])}" } checked>
                             <# else >
                                 <${(tag[ 1 ])? default ( "" )}>:${(tag[ 2 ])? default ( "" )}        
                                 <input type= "checkbox" name= "tagsname" id= "${(tag[2])}" value= "${(tag[2])}" } >
                             </# if >
                         </#list>
                     </# if >
                     <br/>
                     <# if tags?exists && !statisform_obj_tags?exists>
                         <#list tags as tag>
                              <${(tag[ 1 ])? default ( "" )}>:${(tag[ 2 ])? default ( "" )}
                              <input type= "checkbox" name= "tagsname" id= "${(tag[2])}" value= "${(tag[2])}" }>
                         </#list>
                     </# if >
                 </p>
                 <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
                 <p>      
                     <label>其他标签:</label>
                     <label>(以逗号隔开)</label>
                     <label>(例:**,**)</label>
                     <input name = "other_tagsname" id= "other_tagsname" type= "text" size= "30" value = "${(other_tagsname)?default(" ")}" /> 
                 </p>     
                 <br/><br/><br/><br/><br/><br/>
                 <label style= "width:60px;" >选择文件:</label>
                 <fieldset style= "width:300px;border:1px solid #99BBE8;text-align:left;COLOR:#000000;FONT-SIZE:12px;font-family: Verdana;padding:5px;" >               
                     <input name= "actpic" type= "file" id= "actpic" />
                 </fieldset>
                 <br/><br/><br/><br/>       
             </div>
             <iframe name= 'hidden_frame' id= "hidden_frame" style= 'display:none' ></iframe>
         </form>

 后台 action类中,

     

'formData' :{ 'getyearid' :${getyearid}, 'statisform_obj_id' :${getyearid? default ( 0 )}, 'statistical_form_name3' : '1' , 'remark_name' : '1' , 'other_tagsname' : '1' , 'idStr' : '1' },

 这里面涉及到的数据 get set 下就可以得到。

下面解释下机制:

  因为我们用

     var statistical_form_name3 = $("#statistical_form_name3").val();

不能在这中间写

('#actpic').uploadify({

所以选择写在onUploadStart方法函数里面,然后setting下,就成功把数据换上去。
这样后台轻松的获得。

至于这代码    ,版主我也觉得有点累。有些不必看的不用看。

谢谢阅读,共同进步,一起分享,美好明天。

相关文章
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
614 216
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
857 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1287 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
241 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
531 109