最近使用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 ';'
会出现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?