从 Struts 标签调用 JavaScript 函数

问题描述 投票:0回答:2

我有一个 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>      
javascript jsp struts2 struts-tags
2个回答
0
投票

将第一个

<script>
块放入
<head>
内。


0
投票

当 DOM 可用时,将函数调用放在主体的末尾。

<script>
(function(testVariable) {
  if (testVariable)
    test2();
  else
    test();
})(<s:property value="%{#session.testVariable}"/>);
</script>

</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.