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对象为止。

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

相关文章:

  • 2021-12-08
  • 2021-04-21
  • 2021-08-26
  • 2021-06-27
猜你喜欢
  • 2021-07-02
  • 2022-01-15
  • 2021-12-29
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案