簡體   English   中英

如何在Struts2迭代器中執行JavaScript?

[英]How to execute a javascript inside a Struts2 iterator?

我正在開發一個購物網站應用程序。 在我的應用程序中,客戶可以觀看每日報價。 我在數據庫中有一個名為offer的表。 我正在使用Struts2框架。 我有一個名為OfferView.java的動作類。 在此類中,我將所有商品的結束日期添加到列表中。( List<String[]> )。 我的目的是,我需要根據每個報價的結束日期運行一個倒計時計時器。 在我看來,我嘗試在Struts2迭代器中運行javascript。 但是我失敗了。 對於倒數計時器,我使用的是jquery.countdown.js 我嘗試過-

<s:iterator value="days">
    <script type="text/javascript">
        $(function () {
           var day ='<s:property value="days[0]"/>';
           var austDay = new Date();
           austDay = new Date(day+1, - 1, 25);
           $('#defaultCountdown').countdown({until: austDay});
           $('#year').text(austDay.getFullYear());
        });
    </script>
 </s:iterator>

該迭代器正在工作。 當我在腳本外添加<s:property value="days[0]"/> ,它運行良好。 如何在迭代器中運行JavaScript? 有可能,如果是怎么做的呢?

Strtus2事物在服務器端運行,而javascript是基於客戶端的事物,因此您不能。外部使用單獨的Javascript塊並根據id或名稱進行訪問。

在這里,如果您有數千個項目,則Iterator將重復Javascript塊數千次。

 1,  User Struts2 Tags to generate images(for example) like this,
    <div id="item_here name or id based on the time"><img ></img></div>

 2, In Javascript or Jquery use counter every time interval to find valid Items.
There get all items starting with the id "item_".

 3,Now check its time with current time and if it is expired simply hide or 
whatever you wish.

嘗試將函數放在迭代器之外,如下所示:

function countdown(day) {
    var austDay = new Date();
    austDay = new Date(day + 1, -1, 25);
    $('#defaultCountdown').countdown({
        until: austDay
    });
    $('#year').text(austDay.getFullYear());
}

然后在您的迭代器中嘗試調用它: countdown('<s:property value="days[0]"/>');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM