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

时间:2017-08-03 19:52:20

标签: struts2

我正在将Struts 2.3.3中的一个项目升级到2.5.12,我发现升级后的项目<s:text />标签无法显示模型类中字段的值,而只是显示名字。当我使用Struts 2.3.3时它完全正常。

我的Action类就像:

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,因为我期待这个城市的价值。

我在调试模式下看到控件来自Address类的getCity()方法,city字段的值为London,但仍然没有显示在UI中。

有谁知道这是什么问题?

1 个答案:

答案 0 :(得分:0)

根据docs

  

如果在属性文件中找不到指定的消息,那么正文   标签将用作默认消息。如果没有使用身体,那么   可以搜索堆栈,如果返回值,则会写入   输出。 如果堆栈上没有找到值,则为消息的密钥   将被写出