我正在将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中。
有谁知道这是什么问题?
答案 0 :(得分:0)
根据docs:
如果在属性文件中找不到指定的消息,那么正文 标签将用作默认消息。如果没有使用身体,那么 可以搜索堆栈,如果返回值,则会写入 输出。 如果堆栈上没有找到值,则为消息的密钥 将被写出。