[英]javascript not working on struts html tag
我的 Struts2 項目的 jsp 頁面中有以下代碼
<select id="amountSelect">
<s:iterator value="rateCardDetailsList" status="listStatusAmount">
<option value="<s:property value='#listStatusAmount.index'/>"><s:property value="rechargeAmount"/></option>
</s:iterator>
</select>
和相應的腳本
$(document).ready(function() {
$("#amountSelect").change(function(){
var v= $("#amountSelect").val();
var r= "<s:property value='rateCardDetailsList["+ v +"].mobileRate'/>";
alert(r);
});
});
其中rateCardDetailsList
是包含變量mobileRate
的特定 bean( Object
) 的mobileRate
。 但是我在r
的位置發出警報( alert(r);
)時為空。 在檢查元素時,如下所示
$(document).ready(function() {
$("#amountSelect").change(function(){
var v= $("#amountSelect").val();
var r= "";
alert(r);
});
});
如果我直接給出索引,而不是變量v
,我得到的值即
var r= "<s:property value='rateCardDetailsList[1].mobileRate'/>";
alert(r);
確實在警報中給出了一個值。 可能是什么原因?
這是非常無效的 JSP + JavaScript:
var r = "<s:property value='rateCardDetailsList["+ v +"].mobileRate'/>";
退后一步,想想所有這些代碼在哪里執行。
JSP,例如,自定義標記(這里是<s:property>
標記)在服務器端評估,然后再將任何內容發送到瀏覽器。
JavaScript 在客戶端執行,在服務器上呈現並發送到客戶端。 在這里,您嘗試將服務器端代碼(標記)與 JavaScript 代碼(字符串連接)混合在一起。 甚至不會接近工作。
要使其工作,您需要在服務器端呈現有效的 JavaScript,或者使用 Ajax 並動態獲取 JS 值等。呈現 JS 數據結構(例如,JSON)很常見,但還有許多其他選項。
它不是null
而是空字符串""
。
這是因為property
標記不返回值。
在解析 OGNL 表達式時拋出並在內部捕獲異常。 在這種情況下, property
標簽不返回任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.