[ https://issues.apache.org/jira/browse/WW-3718?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gorka Vicente updated WW-3718: ------------------------------ Attachment: RequestDataValueProcessor.java RequestDataValueProcessor interface > HDIV and Struts 2 integration > ----------------------------- > > Key: WW-3718 > URL: https://issues.apache.org/jira/browse/WW-3718 > Project: Struts 2 > Issue Type: New Feature > Components: Other > Affects Versions: 2.2.3.1 > Reporter: Gorka Vicente > Priority: Minor > Labels: extension, integration, security, spring, tags > Attachments: RequestDataValueProcessor.java > > > Nowadays there is an intregration between Struts2 and HDIV that can be used > by adding the HDIV filter and by using Struts2's custom tag extension. This > means that it is possible to apply HDIV to a web application developed in > Struts2 in a declarative way, without making any change to the source code. > But this approach has a maintenability disadvantage that forces to release a > new set of HDIV custom tags for every new version of Struts2. This does not > happen to the HDIV core and web filter, as they are no intrusive extensions. > This problem arises because there isn't a clear extension point of the > Struts2´s custom tags that will make possible a clear extension of the > component's behaviour without having to create a new version of it. > Consecuently, it is necessary to create a new version of HDIV's custom tags > for Struts2 each time a new version of the framework is released. > Also there is the risk that the behaviour of the Struts2's custom tags may > change in the future and become not compatible with HDIV. > The objective of this new feature is to have an official integration between > HDIV and Struts2 that eliminates the maintenance cost that exists today for > new versions of Struts2. This integration will provide an integrated and > compatible solution even for future versions of both frameworks. > In order to get this purpose, we propose the creation of a Java interface or > contract that will be used by Struts2's custom tags. With this extension > point it will no longer be necessary to create specific Struts2 custom tags > for HDIV, reducing the integration task to only implementing the interface. > I have attached an interface proposal (RequestDataValueProcessor). Struts2 > tags should use this new interface in order to avoid tags extension. > HDIV needs to process all urls sent to the client and needs to intercept > redirects. Currently we extend Struts2 default ActionMapper, > ServletRedirectResult, ServletActionRedirectResult and > ServletActionRedirectResult. Struts2 should use the new interface in order to > avoid these extensions. > At this moment, we are finishing HDIV for Struts2 (2.2.3.1), extending all > tags as in the older releases. In a few days we will publish it and it can be > the starting point to implement a new version of Struts2 using the proposed > new interface. > IMPORTANT NOTES > ----------------------------- > 1. Some time ago we spoke with Struts1 people team and they opened a > discussion for this integration: http://wiki.apache.org/struts/HDIV > 2. Other web frameworks like Spring MVC have been created a extension point > like we are proposing here and a few weeks ago they have been integrated in > the last version (3.1 RC1). You can see it here: > https://jira.springsource.org/browse/SPR-7943 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira