3

我在通过 Struts 2 中的 Ajax 调用加载内容时遇到了一个简单的问题(使用 Struts2 Dojo 插件)。它正在正确加载页面中的所有 HTML 内容,但如果该页面内有任何内联 JavaScript 函数,则它不会全部加载。我不知道struts Ajax 是否有一些限制。

这是我的parent.jsp

<s:head/>
<body>
<div id="casetab2" class="casetab_content">
  <sx:div href="LoadContent" delay="3000">
      Initial Content
  </sx:div>
</div>
</body>

这是我的child.jsp

<s:text name="name" label="NAME"/>
<script>alert("hello")</script>

这是我的struts.xml

<action name="LoadContent">
   <result>child.jsp</result>
</action>

结果:NAME:<textfield>正在显示,但没有出现警报消息。

4

2 回答 2

2

这是一个已知问题...

从理论上讲,它应该通过简单地添加executeScripts="true"到 your 来工作<sx:div/>,但如果还不够,请尝试使用该separateScripts属性。

于 2013-04-10T12:28:39.980 回答
1

警报消息未发出,因为它未编译为有效的 javascript。如果你打开萤火虫,你会看到错误计数。使用更正的分号版本的代码

<script type="text/JavaScript">alert("hello");</script> 

其他错误修复:

1) 包括头部标签

2)根据安德里亚的回答使用标签属性

<head>
  <sx:head/>
</head>
<body>
  <div id="casetab2" class="casetab_content">
    <sx:div href="LoadContent" delay="3000" separateScripts="false" executeScripts="true">
      Initial Content
    </sx:div>
  </div>
</body>

于 2013-04-10T12:47:33.480 回答