gpt4 book ai didi

struts2 - 在 JSP 中访问操作实例变量和模型驱动的 bean 变量值

转载 作者:行者123 更新时间:2023-12-02 16:55:37 25 4
gpt4 key购买 nike

我将 searchKey 作为操作类和模型驱动 bean 对象中的变量。

public class PaymentGateWayAction extends ActionSupport implements ModelDriven<PaymentResponseDTO> {
private String searchKey;
private PaymentResponseDTO paymentResponseDTO = new PaymentResponseDTO();
// ...
}

searchKey 也是 PaymentResponseDTO 中的变量。

我需要根据某些条件从操作类和模型驱动 bean 访问 searchKey。具有相同名称的变量是不好的。但上面那个已经开发出来了。如果我对Java文件进行任何修改,我需要做很多修改,这很困难。

现在我需要访问操作类变量。我尝试通过以下方式从操作类访问变量:

<s:hidden id="searchKey" name="searchKey" value="%{searchKey}"/>

但它返回空值。

我还有以下代码:

this.setSearchKey("somevarible");

请指出哪里出了问题

struts.xml

<action name="atomResponse" class="com.PaymentGateWayAction" method="atomPaymentResponse">
<result name="success" type="tiles">paymentGateWayResponse</result>
<result name="failure" type="tiles">paymentGateWayResponseError</result>
</action>

图 block xml

<definition name="paymentGateWayResponse" extends="b2cHome">
<put-attribute name="body" value="agent_b2c/b2c_paymentGateWayResponse.jsp" />
</definition>

b2c_ paymentGatewayResponse.jsp中存在隐藏字段代码。

最佳答案

当您的模型(位于堆栈顶部)和操作(通常是模型下方的项目)都具有相同名称的属性时,您可以使用#action值堆栈上下文变量来消除歧义,或者直接访问堆栈(坏主意)。

<!-- Access action properties directly: -->
<s:property value="%{searchKey}" /> <!-- Model; top of stack. -->
<s:property value="%{#action.searchKey}" /> <!-- Action; accessed directly. -->

<!-- Hope the stack never changes: -->
<s:property value="%{[0].searchKey}" /> <!-- Model; top of stack. -->
<s:property value="%{[1].searchKey}" /> <!-- Action; next stack pos. -->

关于struts2 - 在 JSP 中访问操作实例变量和模型驱动的 bean 变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11407686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com