You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by "David Evans (JIRA)" <ji...@apache.org> on 2006/04/27 20:14:18 UTC
[jira] Reopened: (STR-311) Need More Flexibility Setting/Getting
ActionForm Properties
[ http://issues.apache.org/struts/browse/STR-311?page=all ]
David Evans reopened STR-311:
-----------------------------
Assign To: Craig McClanahan (was: Struts Developer Mailing List)
> Need More Flexibility Setting/Getting ActionForm Properties
> -----------------------------------------------------------
>
> Key: STR-311
> URL: http://issues.apache.org/struts/browse/STR-311
> Project: Struts Action 1
> Type: Improvement
> Components: Extras
> Versions: 1.0 Final
> Environment: Operating System: All
> Platform: All
> Reporter: Erik K. Worth
> Assignee: Craig McClanahan
> Priority: Minor
> Fix For: 1.1 Family
>
> AltoWeb, Inc. would like to use the org.apache.struts.action.ActionForm as a
> hash table of properties rather than a canonical bean. A hash table approach
> would be more efficient for us and we would not have to generate as much code
> (the form beans). The current Struts framework does not allow us to do this
> without changing the code because the ActionForm is accessed and updated using
> static utility methods that we cannot overload or extend (e.g. RequestUtils,
> PropertyUtils, BeanUtils).
> At this point, it looks like it is relatively easy to populate the ActionForm
> from a request by overloading the processPopulate method in the ActionServlet
> class. However, it is not easy to populate a servlet response because so many
> of the tags use the static getProperty method in BeanUtils to pull information
> from the ActionForm. Therefore, we request some type of extension mechanism
> that allows us to customize the way properties are accessed and mutated in the
> ActionForm.
> We would like to have a simple way to change this behavior without code changes
> to the struts code, or with limited code changes.
> Ideally, we thought of subclassing some classes or registering a class that
> does the mapping to beans (what PropertyUtils does today). This way, we can use
> the struts code without changing it.
> It is possible to have one utility class that is loaded by the Servlet or the
> web application by name to do all the mappings.
> Another way is to make sure that all the property settings go through one class
> that we can modify. In that case the changes to the struts code will be limited
> to one class only.
> It is possible to change the BeanUtil class behaviour today. We do not like
> this approach, because this class is part of commons package and is not
> directly part of struts. What this means is that other apache code (and our
> code as well) might try to use this class. Therefore it is better that the
> mapping is done by a single struts class that can delegate to the BeanUtils
> class.
> So the options are:
> 1. Overloaded functions (does not require struts code modification)
> 2. Registered utility class (does not require struts code modification)
> 3. A single mapping class that delegates to BeanUtils (Requires one struts
> class modification, does not require common libraries modification).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org