最近使用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?