struts2标签

时间:2023-12-06 10:28:44

struts2的<property />标签是输出标签

其value属性是指定输出的内容,如果value属性没有写出来,则默认输出对象栈栈顶的元素。

例如,我们在对象栈中添加一个Person对象

Person p=new Person();
p.serName("aaa");
p.serId("1");
ActionContext.getContext.getValueStack().push(p); //把p对象放到对象栈栈顶

在JSP页面要输出p对象里的name属性:

<s:property value="name" />

可以看出如果把一个对象放到对象栈中,我们不用访问其方法,只需直接访问该属性,就像上面要输出p对象里的name属性,value指定的是name而不是p.name

因为把一个对象放到对象栈中,该对象的属性就直接存放在对象栈中了。

如果对象栈中还有另一个名为name的对象,则从栈顶开始向下访问,直到第一次访问到name对象为止。

在开发中要尽量避免同名属性。