Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 如何在Struts 2中使用s:set as param到s:push进行静态方法调用_Jsp_Struts2_Struts_Ognl - Fatal编程技术网

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'" />