繁体   English   中英

如何在JavaScript中使用struts标记

[英]How to use struts tag in javascript

我正在尝试使用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上以<s:property value='#request.consumptionData'/>获取数据的值。 我正在使用struts2。 我的JavaScript代码在JSP文件中。 谁能告诉我如何显示价值?

您似乎正在从主页通过Ajax调用/ dashboard页面。 并期望它向您发送请求属性consumptionData。 由于您的JSP不包含必需的数据,因此无法使用。 您需要将数据放入JSP,然后在Ajax中获取数据。 将您的响应转换为JSON。 最简单的方法是在您的Ajax响应JSP中放入以下类似代码。

Dashboard.jsp

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

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

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

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

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

如果数据只是简单的Integer值,您甚至可以将值直接放入代码中:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM