##### ATTENTION: The old IoCFilter was now renamed to PushIoCFilter so the new and better one can have the right name. To migrate your code from 1.2 to 1.3 all you have to do is change IoCFilter for PushIoCFilter inside ApplicationManager.java of your projects. You should also consider migrating your IoC needs to the new global IoCFilter. Please check http://menta.localhost/ioc.jsp for more details! ##### - Select tag now looks for a ListData first in the page, output, session, application scopes. If It does not find one, it asks the ListManager for a list. That will allow dynamic lists to be displayed in combos by the Select tag. - HTML Tags now support the style attribute - New ActionConfig methods for creating consequences: fwdOk, fwdError, redirOk, redirError Ex: Instead of on(SUCCESS, fwd("page.jsp")); you can now use (if you want): fwdOk("page.jsp"); - Method redir() and redir(page, true) was missing - Now you can define dynamic tokens for dynamic messages generated by your action. - Special token "%field%" which displays the value of the field the message refers to. - GlobalFilterFree interface that an action can implement to avoid the execution of global filters on itself. - New Input getProperty() method to access properties of the underlying input object through reflection. Ex: In the case of the RequestInput, the underlying input object is the HttpServletRequest. So doing input.getProperty("remoteAddr") will call by reflection req.getRemoteAddr(). - New Context keys() method to list the keys of the values inside the context. - New Input getHeaderKeys() method to list all the names of the headers inside the input. - ValidatorFilter was not using the action class name as the filename for validation and was using /validation/ValidatorFilter_loc.i18n for all actions. - ClassActionConfig so that you don't need to define the URL for the action. (MyBooks is using this!) Ex: ActionConfig ac = new ClassActionConfig(HelloMentawai.class); is exactly the same as: ActionConfig ac = new ActionConfig("/HelloMentawai", HelloMentawai.class); You can also use: action(HelloMentawai.class) - New IoCInput e IoCInputFilter for autowiring IoC, in other words no need to use IoCFilter: Ex: // inside your applicationManager: ioc("helloBean", HelloBean.class); filter(new IoCInputFilter()); // Then all you have to do is: HelloBean bean = (HelloBean) input.getValue("helloBean"); // you can also use the InjectionFilter to inject in your action instead of getting from the input filter(new InjectionFilter()); // you can also define scopes for the componenents ioc("helloBean, HelloBean.class, SESSION); - Spring support through SpringActionConfig and SpringFilter! - New InjectionFilter and VOFilter implementation (Pull instead of Push!) (Works better with IoC Autowiring...) (The old code is now PushInjectionFilter and PushVOFilter!) - support for attribute permissions on HasAuthorization and RequiresAuthorization (besides permission which allows only one permission) - mtw:input now looks for values like mtw:out, in other words, in all escopes - html tags now have the extra and separator attributes, so you can do something like that extra attributes - CollectionListData and automatic support for that on the select tag: - Support for dynamic tags like inputDate, inputMoney, etc.