【发布时间】:2012-07-10 10:13:17
【问题描述】:
我有一个 POJO,我使用 Struts2 属性标签在 JSP 上显示其属性:
public Class message
{
string messageText;
string messageType;
//getters and setters, here
}
Text: <s:property value="messageBean.messageText"/>
Type: <s:property value="messageBean.messageType"/>
对象由用户输入或从数据库中读取创建。 “messageType”属性中只有整数值,用作数据库中查找表的键。
选择“类型”值时,在上一页上给用户选择无线电选择,每个选项对应于整数。当我显示值时,我目前只显示整数。我想显示与整数对应的文本,我将通过在操作类中使用键/值查找方法来完成此操作,并将代码更改为如下所示:
//in Action class
public String getTranslatedType()
{
if (messageBean.getMessageType().equals("12"))
return "Message for frequent callers.";
if (messageBean.getMessageType().equals("17"))
return "Message for first time callers.";
//etc
}
Text: <s:property value="messageBean.messageText"/>
Type: <s:property value="translatedType"/>
有没有更好的方法来做到这一点?
这似乎不起作用:
Type: <s:property value="Utility.getTranslatedText(messageBean.messageType)"/>
是否有从属性标签中调用静态实用程序方法的语法?
【问题讨论】: