JSCookMenu对weblogic.xml配置参数的依赖

最近使用JAVA、MyEclipse、Weblogic来开发Web程序,使用JSCookMenu来定义项目中用到的menu。

当在WEB-INF文件夹下添加了weblogic.xml文件以后,一些属性发生了变化,如:

    < session-param >
      < param-name > CookiesEnabled </ param-name >
      < param-value > false </ param-value >
    </ session-param >
    < session-param >
      < param-name > CookieName </ param-name >
      < param-value > ims sessionid </ param-value >
    </ session-param >  
接下来出现的问题之一就是menu上面的图片无法正确显示。
接下来出现的问题之一就是menu上面的图片无法正确显示。通过使用Internet Explorer Developer Toolbar软件,
我找到了无法显示的图片的链接是:http://domain/Web/faces/myFacesExtensionResource/
org.apache.myfaces.renderkit.html.util.MyFacesResourceLoader/12115203/
navmenu.jscookmenu.HtmlJSCookMenuRenderer/ThemeOffice/;imssesessionid=QzxsL2rS!1070634751spacer.gif
在tomahawk-1.1.5.jar包中可以找到这个文件:
org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js
在这个文件中使用如下方法来解析图片的路径:// sub menu display attributes
if(cmThemeOfficeBase.indexOf("/;j")>-1){
 myPrefix=cmThemeOfficeBase.substring(0,cmThemeOfficeBase.indexOf("/;j")) + "/";
 mySuffix=cmThemeOfficeBase.substring(cmThemeOfficeBase.indexOf("/;j")+1);}
var myFolderLeft=myPrefix + 'spacer.gif' + mySuffix;
var myFolderRight=myPrefix + 'arrow.gif' + mySuffix;
代码中查找/:j这个字符串来分开图片路径和sessionid,所以我们可以知道weblogic.xml文件中的CookieName是很重要的,必须以字母j开头。而正确的图片路径应该是:
http://domain/Web/faces/myFacesExtensionResource/org.apache.myfaces.renderkit.html.util.MyFacesResourceLoader/12115455/navmenu.jscookmenu.HtmlJSCookMenuRenderer/ThemeOffice/spacer.gif;jimssesessionid=GknnL23T!-527814332
我们可以想象,CookieName以字母j开头是通用的方法,所以只要修改CookieName即可解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值