1

アプリケーションに struts2 タグを使用しています。値を script から 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]
4

2 に答える 2

2

JavaScript で eval() メソッドを使用できます。したがって、次のようなものを生成できれば

var incyear = eval('<s:property value="year"/> - diff + 1');

于 2013-10-22T09:18:39.430 に答える