Struts 2.5.12:文本标签显示模型类中字段的名称而不是值

问题描述 投票:0回答:1

我正在将其中一个项目从 Struts 2.3.3 升级到 2.5.12,我发现在升级后的项目中

<s:text />
标签无法显示模型类中字段的值,而只是显示名称。当我使用 Struts 2.3.3 时它工作得很好。

我的动作类是这样的:

public class MyAction {
    private Member member;
    
    public Member getMember() {
        return member;
    }
}

我的模型类是这样的:

public class Member implements Serializable {
    private Address address;
    
    public Address getAddress() {
        return address;
    }
}

public class Address implements Serializable {
    private String city;
    
    public String getCity() {
        return city;
    }
}

在JSP中,我有:

<s:text name="member.address.city" />

我在页面上看到的输出是

member.address.city
,正如我期待的城市的价值。

我在调试模式下看到控件正在进入

getCity()
类的
Address
方法,并且
city
字段的值为
London
,但它仍然没有显示在 UI 中。

有谁知道是什么问题吗?

struts2
1个回答
0
投票

根据文档

如果在属性文件中找不到指定的消息,则消息正文 该标签将用作默认消息。如果没有使用主体,则 可以在栈中查找,如果有返回值,则写入 输出。 如果堆栈中没有找到值,则消息的键 会被写出来.

© www.soinside.com 2019 - 2024. All rights reserved.