我正在将其中一个项目从 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 中。
有谁知道是什么问题吗?
根据文档:
如果在属性文件中找不到指定的消息,则消息正文 该标签将用作默认消息。如果没有使用主体,则 可以在栈中查找,如果有返回值,则写入 输出。 如果堆栈中没有找到值,则消息的键 会被写出来.