struts2中在自定义标签类中得到当前form的对象

  http://www.iteye.com/problems/58651
上面那个给出了struts1的解决方案,还是贴出代码吧。
strut1是通过
FormTag formTag = (FormTag) findAncestorWithClass(this, FormTag.class);
String formName = formTag.getBeanName();
PaginActionForm form = (PaginActionForm) TagUtils.getInstance().lookup(pageContext, formName, "request");

那么struts2中怎么解决了,FormTag里面看到name有值,action也有值。就是得不到
搜了很久,没搜到,是运气不好还是....最终看源码,再调试,现在记录下以备份分享下:
   struts2中
FormTag formTag= (FormTag)findAncestorWithClass(this, FormTag.class);
Component component = formTag.getComponent();
Map map = component.getParameters();
String name = map.get("name").toString();

还是用到了Map这个东东。
补充一点,
TagUtils.getStack(pageContext).findValue(Key);
通过此方法还可以得到页面上的对象。比如页面的分页对象pageUtil,
PageUtil pageUtil = (PageUtil)TagUtils.getStack(pageContext).findValue("pageUtil");
在分页标签类里用到了。

你可能感兴趣的:(struts2)