gpt4 book ai didi

java - 当值传递给 Action 类方法时,变量值被视为 null

转载 作者:行者123 更新时间:2023-11-30 03:08:04 24 4
gpt4 key购买 nike

在我的 jsp 文件中,我设置了变量 statusNum 的值。当我尝试将 statusNum 的值传递给方法 getStatusString() (此方法在 Action 类中定义)时,statusNum 的值一片空白。但是当我使用 ${statusNum} 显示时,我得到了值。这是我的代码。

<table style="width: 100%;">   
<s:iterator value="emailList">
<tr>
<td style="width:39%"><s:property value='name'/></td>
<td style="width:39%;"><s:property value='email'/></td>
<s:set var="statusNum"><s:property value="status"/></s:set>
${statusNum}
<s:set var="stringNum" value="%{getStatusString(#statusNum)}"/>
</tr>
</s:iterator>
</table>

这是 Action 类中 getStatusString() 方法的框架

public String getStatusString(Integer sendStatus) {
-------------
------------- //code returning string value
-------------
}

请帮我通过getStatusString()方法获取statusNum对应的status String值。

最佳答案

您应该尝试使用 <s:property value="%{getStatusString(#statusNum)}"/>标记以便调用操作方法。

Anwyay...在我看来这不是一个好的选择...为什么应该在 jsp 中调用操作方法并将业务层与表示层混合在一起?

更容易移动 Controller 内的所有内容并使用 jsp 来呈现结果。

我的意思是...您将单个操作分为两个不同的阶段。您的操作正在创建 CollectionemailList然后你在 jsp 中迭代你的集合。当您迭代时,您调用一个方法来获取状态字符串。

<小时/>

工作流程:操作 -> jsp -> 迭代 -> {method x n} -> 结果

<小时/>

为什么不在操作中准备状态字符串?通过这种方式,您将只打印该值,并且您的堆栈不会充满“垃圾”(如果我们可以这么说)。

<小时/>

工作流程:操作 -> jsp -> 迭代 -> 结果

<小时/>
<table style="width: 100%;">   
<s:iterator value="emailList">
<tr>
<td style="width:39%"><s:property value='name'/></td>
<td style="width:39%;"><s:property value='email'/></td>
<td style="width:39%;"><s:property value='statusString'/></td>
</tr>
</s:iterator>
</table>

如果该字符串可能会随着时间的推移而改变,则使用 Ajax。为了让您的页面始终保持刷新并且以更安全的方式。

关于java - 当值传递给 Action 类方法时,变量值被视为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34262092/

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