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