[英]how to get random value in struts set tag
我在應用程序中使用了struts2標簽。 我需要將值從腳本隨機更改為s:set標記,然后填充到javascript數組中。 如果我動態添加,則我的輸出為2012-diff + 1,但我的預期輸出為2011 。 我怎樣才能做到這一點,我的代碼是
var threeDatas = [];
var prevyear = [];
var diff;
var flagthree = false;
<% int j = 0;%>
<s:iterator value="testlist">
prevyear.push(<s:property value="year"/>);
if (<%= j - 1%> !== -1) {
if (prevyear[<%= j - 1%>] !== prevyear[<%= j%>] - 1) {
diff = prevyear[<%= j%>] - prevyear[<%= j - 1%>];
}
if (diff > 1) {
for (inc = 1; inc < diff; inc++) {
<s:set var="incyear"> <s:property value="year"/> - diff+1</s:set>
threeDatas.push(['<s:property value="#incyear"/>', null, null]);
}
flagthree = true;
diff = 0;
}
<% j++;%>
</s:iterator>
我需要我的最終數組值應該是鏈接
['x', 'Cats','Dogs'],
['2008', 10, null],
['2009', 20, null],
['2010', null, null],
['2011', null, 23],
['2012', null, 34]
您可以在JavaScript中使用eval()方法。 因此,如果您可以生成類似
var incyear = eval('<s:property value="year"/> - diff + 1');
我發現另一種方式,通過使用集
<s:set var="incyear"> <s:property value="year"/> - diff+1</s:set>
threeDatas.push([<s:property value="#incyear"/>+"", null, null]);
和下面的代碼:
var threeDatas = [];
var prevyear = [];
var diff;
var flagthree = false;
<% int j = 0;%>
<s:iterator value="testlist">
prevyear.push(<s:property value="year"/>);
if (<%= j - 1%> !== -1) {
if (prevyear[<%= j - 1%>] !== prevyear[<%= j%>] - 1) {
diff = prevyear[<%= j%>] - prevyear[<%= j - 1%>];
}
if (diff > 1) {
for (inc = 1; inc < diff; inc++) {
<s:set var="incyear"> <s:property value="year"/> - diff+1</s:set>
threeDatas.push([<s:property value="#incyear"/>+"", null, null]);
}
flagthree = true;
diff = 0;
}
<% j++;%>
</s:iterator>
通過使用這個你可以得到輸出
['x', 'Cats','Dogs'],
['2008', 10, null],
['2009', 20, null],
['2010', null, null],
['2011', null, 23],
['2012', null, 34]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.