springmvc 整合jquery uploadify 火狐浏览器不兼容问题解决

IE8下测试通过,测试告诉我在火狐浏览器中出现问题,打断点发现问题

1、不进入springmvc

解决办法是:;jsessionid=<%=sessionId%>

<%    String sessionId = request.getSession().getId();%> 

//上传处理程序url
 ‘uploader‘ : ‘${path}/bpmAttachController/fileUpload.do;jsessionid=<%=sessionId%>

2、进入springmvc的controller但是类里面需要调用session,此时后台报空指针异常

解决办法:

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpSession;

/**
 * 为解决uploadify在FireFox下上传文件时session丢失而设.
 * @author fangjian.
 *
 */
public class MySessionContext {
    private static MySessionContext instance;
    private Map<String, HttpSession> mymap;

    private MySessionContext() {
        mymap = new HashMap<String, HttpSession>();
    }

    public static MySessionContext getInstance() {
        if (instance == null) {
            instance = new MySessionContext();
        }
        return instance;
    }

    public synchronized void AddSession(HttpSession session) {
        if (session != null) {
            mymap.put(session.getId(), session);
        }
    }

    public synchronized void DelSession(HttpSession session) {
        if (session != null) {
            mymap.remove(session.getId());
        }
    }

    public synchronized HttpSession getSession(String session_id) {
        if (session_id == null)
            return null;
        return (HttpSession) mymap.get(session_id);
    }

}

修改mvc,在进入页面前加一下一行

//进入页面之前先把session保存到map中

MySessionContext.getInstance().AddSession(request.getSession());

在接收文件上传的方法中得到session,不为空的

HttpSession session = null;
String sessionid= (String) request.getParameter("jsessionid");

 if (sessionid != null && !"".equals(sessionid)) {
      session = MySessionContext.getInstance().getSession(sessionid);
 }

这样就又得到session了,因为页面要传递参数"sessionid"

所以修改jsp的上传处理程序url

  <%
    String sessionId = request.getSession().getId();
  %>

 //上传处理程序url‘uploader‘:‘${path}/bpmAttachController/fileUpload.do;jsessionid=<%=sessionId%>?taskId=${taskId}&defId=${defId}&jsessionid=<%=sessionId%>‘,

springmvc 整合jquery uploadify 火狐浏览器不兼容问题解决

时间: 2024-08-08 09:42:45

springmvc 整合jquery uploadify 火狐浏览器不兼容问题解决的相关文章

IE6,7,8,9还有火狐浏览器的兼容

/*FF.Opear等支持Web标准的浏览器*/#header {        margin-top: 23px;        margin-bottom: 23px;}/*IE6浏览器*/*html #header {         margin-top: 13px;        margin-bottom: 13px; } /*IE7浏览器*/*+html #header {         margin-top: 18px;        margin-bottom: 18px; 

jquery解决各浏览器placeholder兼容

$(function(){ if(!placeholderSupport()){   // 判断浏览器是否支持 placeholder     $('[placeholder]').focus(function() {         var input = $(this);         if (input.val() == input.attr('placeholder')) {             input.val('');             input.removeClas

JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结 【转】http://blog.csdn.net/uniqer/article/details/7789104

1.兼容firefox的 outerHTML,FF中没有outerHtml的方法. 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML) { var r=this.ownerDocument.createRange(); r.setStartBefore(this); var df=r.createContextualFragment(sHTM

onresize在ie和火狐浏览器上bug问题解决

var w=0 var h=0 window.onresize = function(){  var ww = document.documentElement.clientWidth  var hh = document.documentElement.clientHeight  if(ww!=w || hh!=h){   location.reload()   w=ww   h=hh  } }

火狐浏览器,IE11浏览器 兼容处理

火狐浏览器中的css hack /**火狐浏览器兼容处理**/ /**火狐浏览器(所有)兼容处理**/ @-moz-document url-prefix() { 在这里输入兼容样式 } /**火狐浏览器2版本兼容处理**/ html>/**/body .selector, x:-moz-any-link { 在这里输入兼容样式 } /**火狐浏览器3版本兼容处理**/ html>/**/body .selector, x:-moz-any-link, x:default { 在这里输入兼容样

火狐浏览器不能获取 event,解决js报错问题

//←的keyCode等于:37 //→的keyCode等于:39 //↑的keyCode等于:38 //↓的keyCode等于:40 function keystoke(obj){ //var e = window.event;//这样在火狐浏览器不兼容,js失效 var e = window.event || arguments.callee.caller.arguments[0]; var tid=obj.id; var str=parseInt(tid); switch(e.keyCod

2.火狐浏览器上,uploadify文件上传不兼容,和session重新发起的问题

前段时间做表单中有文件上传的功能,主要是因为用uploadify上传,发生了问题: 问题描述1:用uploadify实现文件上传时,遇到在火狐上不兼容问题,uploadify样式无法加载的问题,这个简单,直接在火狐浏览器上安装flash插件就可以了解决, 问题描述2:使用uploadify上传文件时,发现上传文件的session(以下就叫file_session)和提交表单的session(sub_session)不一样.在提交表单的Action中我们想要获取之前的请求在session设置的值时

解决jQuery uploadify在非IE核心浏览器下无法上传

之前上传了一个通过Flash实现多文件上传,但是在IE正常运行,FireFox 不能正常上传.经过反复研究学习,之所以firefox和360浏览器无法正常运行,是因为FireFox.chrome.360浏览器等支持HTML5的浏览器不会再文件上传时自动带入session信息和cookie,不共享session. 一.jquery uploadify自我介绍: (1).大家好,我是jquery插件大家族中负责实现异步上传的插件,我不是唯一,只是较好用的一款. (2).我的功能: 支持单文件或多文件

关于jquery.uploadify.js不兼容IE11

我们使用jquery.uploadify.js插件进行文件上传的时候,可能会遇到在IE11浏览器下点击上传按钮没有反应,看到很多博友们说的天花烂坠,最后问题没有解决掉,其实问题很简单,只是这个问题又很难被发现,那么接下来进入正式话题---- 之所以IE11没有显示出上传的对话框是因为这个插件的一个样式所导致,既:z-index 解决方案:打开jquery.uploadify.js插件,Ctrl+F,搜索z-index,此刻你会发现插件的z-index:1,就是这个原因导致IE11显示不出来,改成