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