Jsp 如何在Struts 2中使用s:set as param到s:push进行静态方法调用
我试过:Jsp 如何在Struts 2中使用s:set as param到s:push进行静态方法调用,jsp,struts2,struts,ognl,Jsp,Struts2,Struts,Ognl,我试过: <s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> <s:push value="@dao.positions@positionsO(%{#ordersymbol})"> <s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> <s:push value="@dao.positions@pos
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(%{#ordersymbol})">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(#ordersymbol)">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(ordersymbol)">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(%{ordersymbol})">
上述四种方法都不起作用,该方法总是获取null参数
虽然如果我尝试
<s:push value="@dao.positions@positionsO('EURUSD')">
它很好用。顺便说一句,我想出了一个替代方案
<s:set value="@dao.positions@positionsO('EURUSD')" var="symbol1"/>
<s:push value="#symbol1">
在使用迭代器的情况下
<s:iterator value="#{'EURUSD':'EURUSD','GBPUSD':'GBPUSD'}>
<s:set value="@dao.positions@positionsO(value)" var="symbol1"/>
<s:push value="#symbol1">...</s:push>
</s:iterator>
试试看
类似的东西,但从整体上考虑表达式并对其求值 你试过吗
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO('%{#ordersymbol}')">
我意识到这是个老问题。。。但是:
中不起作用的原因是“值是一个对象”。正确的答案是:
<s:set var="ordersymbol" value="'EURUSD'" />
正确的是第二个
<s:set var="ordersymbol" value="'EURUSD'" />