[英]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.