1

我试图将一个对象从 s:iterator 传递到我的操作中定义的方法中,但由于某种原因,struts2 只传递了一个空对象。

我的代码如下所示:

<s:iterator value="#currentPriceList.discounts" var="currentDiscount">
    <s:property value="discountLine(#currentDiscount)" /><br />
</s:iterator>

此函数根本不调用 discountLine 方法。

当我将其更改为以下内容时,我确实得到了正确的值:

<s:iterator value="#currentPriceList.discounts" var="currentDiscount">
    <s:property value="#currentDiscount.appliesTo" />
</s:iterator>

当我将 currentDiscount 中的字段传递给方法时,我也得到了正确的行为。

<s:iterator value="#currentPriceList.discounts" var="currentDiscount">
    <s:property value="displaySomeText(#currentDiscount.appliesTo)" />
</s:iterator>

那么,如何将完整的 currentDiscount 对象传递给操作方法呢?

更新问题:

的输出<s:property value="#currentDiscount.class"/>com.acteva.model.wrapper.PriceListWrapper$Discounts

两个被调用方法的方法签名是:

public String discountLine(Discounts discount)

public String displaySomeText(String valueToDisplay)
4

0 回答 0