【问题标题】:Loading Ajax content in Struts 2 using Struts2 Dojo Plugin使用 Struts2 Dojo 插件在 Struts 2 中加载 Ajax 内容
【发布时间】:2013-04-02 05:02:25
【问题描述】:

我在通过 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:&lt;textfield&gt; 正在显示,但警报消息未出现。

【问题讨论】:

  • WTQ?有一些 javascript,有一些 ajax。此处未显示任何内容。
  • @RomanC 我刚刚添加了代码看看
  • 代码有点固定给你答案。

标签: java jquery ajax jsp struts2


【解决方案1】:

这是一个已知问题...

理论上,只需将executeScripts="true" 添加到您的&lt;sx:div/&gt; 即可,但如果还不够,请尝试使用separateScripts 属性。

【讨论】:

    【解决方案2】:

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

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

    其他错误修复:

    1) 包含head 标签

    2)根据安德里亚的回答使用tag attributes

    <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>
    

    【讨论】:

    • @AndreaLigios 谢谢,已修复:)。顺便说一句,我将它与 jquery 插件一起使用,它运行良好,但搜索 wiki 返回 0 结果。它似乎是未记录的功能。
    • 我完全同意你的看法@RomanC 没有与此相关的文件我可以阅读以获得解决方案
    • @CodeHunter 我的最后一条评论与您的​​问题无关,就 jquery 插件问题而言。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2011-01-08
    • 2011-12-19
    • 2016-03-13
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多