在这个例子中,我不会将属性值(action属性)传递给我的js函数,如下所示:
这是我的Action类:
public class XXXX {
private List<String> numberCanBuyList;
private float price;
all getters and setters are used
}
这是我的jsp页面:
<s:hidden id="priceUnit" name="priceUnit" value="price"/>
<s:select id="canBuylist" name="bundle" list="numberCanBuyList" theme="simple" onChange="javascript:updateProperty('%{#priceUnit}')">
.....
<script type="text/javascript">
function updateProperty(n)
{
var b = document.getElementById("canBuylist").value;
alert(n);
alert(b);
}
提醒(n)告诉我:%{#priceUnit}而非实际价值 我做错了吗?
我也尝试这样的事情,我也有同样的行为:
onChange="updateProperty(price)"> show me price
onChange="updateProperty('%{price}')"> show me %{price}
答案 0 :(得分:0)
值堆栈中没有这样的键priceUnit
。并且Struts试图评估表达式%{#priceUnit}
但是没有做到,所以值保持不变。但是,如果您已经在隐藏字段中获得price
的值,则不需要此表达式。要从隐藏元素中获取值,您可以使用类似
<s:select id="canBuylist" name="bundle" list="numberCanBuyList" theme="simple" onChange="updateProperty(document.getElementById('priceUnit').value)">