Using 'top' object in Struts 2.5

拟墨画扇 提交于 2019-12-02 07:38:44

问题


According to http://struts.apache.org/docs/s2-026.html :

Support for expression using top will be dropped in upcoming Struts version 2.5!

We used the top object in lots of JSP pages as below (which shows a list of currencyTypes and look up the name from struts messages):

<s:select name = "selectedCurrencyType" 
          list = "currencyTypes"
       listKey = "top" 
     listValue = "%{getText('acc.currencyType.'+top)}" />

It currently works with struts 2.3.24.1 but according to above comment, will above select box works for 2.5, or we will not have the top reference any more?!

If this is true, please let me know how should we fix above select?!


回答1:


Support for top object was added to support internal operations, it shouldn't be used by users (yes, expressing that in docs was a bad idea :( )

Anyway, looks like we must prepare a migration path or keep support for the top object.




回答2:


What I found in this documentation and what I use in my example Passing parameters to action through ModelDriven in Struts 2 the top object is a element of the CompaundRoot. And this class has a cutStack() method that is mentioned in

With expression like [0] ... [3] etc. Struts 2 will cut the stack and still return back a CompoundRoot object. To get the top of that particular stack cut, use 0.top.

The last expression is a typo for [xxx].top where xxx is the index of the CompoundRoot object. And this object could be referenced as [xxx]. It is a top object cut to the xxx index.



来源:https://stackoverflow.com/questions/32816417/using-top-object-in-struts-2-5

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!