我有一个 JSP 页面,它是从 Struts 操作和设置会话变量中调用的,但是当我执行 JavaScript 函数时,它没有在
<s:if
> 或 <s:else>
标记中调用。变量的值为 true
,因为正在打印文本但未调用函数。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script type="text/javascript">
function test(){
alert('inside test');
}
function test2(){
alert('inside 222');
}
</script>
<div id="body_content">
<div id="content_cotainer">
<s:if test="%{ #session.testVariable}">
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
<script type="text/javascript"> test2()</script>
</s:if>
<s:else><script type="text/javascript"> test()</script>ddddddddddddddddd</s:else>
</div>
</div>
将第一个
<script>
块放入 <head>
内。
当 DOM 可用时,将函数调用放在主体的末尾。
<script>
(function(testVariable) {
if (testVariable)
test2();
else
test();
})(<s:property value="%{#session.testVariable}"/>);
</script>
</body>
</html>