现在的位置: 首页 > 综合 > 正文

如何过滤链接中出现的sessionid

2013年08月17日 ⁄ 综合 ⁄ 共 807字 ⁄ 字号 评论关闭

最近使用JAVA、MyEclipse、Weblogic来开发Web程序,当在WEB-INF文件夹下添加了weblogic.xml文件以后,一些属性发生了变化,如: 

    <session-param>
      <param-name>CookiesEnabled</param-name>
      <param-value>false</param-value>
    </session-param>

对于<t:graphicImage 图片控件,他们的链接会变为http://domain/Web/img/picturename.gif;Cookiename=mTmkkPcB!-1602616343
这样的变化并不会影响图片的正确显示。
但是对于用来下载文件的控件
 
<h:outputLink id="download1" value="/software/doc.zip">
      <t:outputText value="Download file"/>
</h:outputLink>

或者用于触发javascript事件的控件来说会导致错误。
因为这些链接的后面也多了sessionid,比如javascript:function();jsessionid=mTmkkPcB!-1602616343
会出现Error: Expected ';'

方法1:
在body的onload事件中将对应控件的href后面的sessionid过滤掉。
方法2:
在被引用页面中有这样的控件,例如:<jsp:include page="/common/header.jsp" />
这样无法定义onload事件,可以定义这些控件的onclick事件来过滤sessionid. 

<h:outputLink value="javascript: this.href = 'value u want';">
</h:outputLink>

 Ok, done, make sense?

【上篇】
【下篇】

抱歉!评论已关闭.