【问题标题】:How to use struts tag in javascript如何在javascript中使用struts标签
【发布时间】:2012-12-17 09:05:48
【问题描述】:

我正在尝试使用 Ajax 请求从 Action 中获取值,但在使用 javascript 中的 struts 标记来显示值时遇到问题。

Javascript 代码:

 dojo.xhrPost({
            url: "dashboard"
            ,content: myParameterscomp
            , handle: function(response, ioargs) {

               if (ioargs.xhr.status == 200)
               {
                   var data = "<s:property value='#request.consumptionData'/>"
                   console.log(data);
               }

             }

            ,error: function (data) {
                handleError(data.description);
            }           
        });

Java 代码:

Map request = (Map)context.get("request");
 request.put("consumptionData",  43);

我在控制台而不是 43 上以 &lt;s:property value='#request.consumptionData'/&gt; 的形式获取数据值。我正在使用struts2。我的 javascript 代码在 JSP 文件中。谁能告诉我如何显示价值?

【问题讨论】:

  • 只是一个问题。您是否在 JSP 文件中包含 struts 标签库?
  • 没有。我在我的父 JSP 中加载了一个标签库,并从那里调用 JSP 以在加载父 JSP 时发出 AJAX 请求。
  • 那行不通。您需要在存在 标记的 JSP 中包含 taglib。
  • 好的。现在,我得到了变量数据的空值。我还在javascript中尝试了“”。但它也没有用。
  • 如果你想从请求中设置值,你可以简单地使用 ${consumptionData}

标签: java javascript struts2 struts


【解决方案1】:

您似乎正在通过 Ajax 从您的主页调用 /dashboard 页面。并期望它向您发送请求属性消费数据。这不起作用,因为您的 JSP 不包含所需的数据。您需要将数据放入 JSP 中,然后在 Ajax 中获取相同的数据。将您的响应转换为 JSON。最简单的方法是在您的 Ajax 响应 JSP 中添加以下类似代码。

仪表板.jsp

{"consumptionData": < "<s:property value='#request.consumptionData'/>"}

当您通过 ajax 加载此 JSP 时,您可以在主页中解析此 JSON 输出并在 Javascript 中使用数据。

var json = JSON.parse(response);
var data = eval(json.consumptionData);

【讨论】:

    【解决方案2】:

    浏览器中的代码接受 JSON。您可以将您的请求序列化为 JSON 并嵌入到您的 JavaScript 文件中。例如:

    var data = <%= toJson(request.get("consumptionData")) %>
    

    如果数据是简单的Integer值,你甚至可以直接把值放在代码中:

    var data = <%= request.get("consumptionData") %>
    

    语法可能会有所不同(我对struts标签不熟悉),但想法是一样的。

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多