[
https://issues.apache.org/jira/browse/WW-3748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217553#comment-13217553
]
Lukasz Lenart commented on WW-3748:
-----------------------------------
What about fallback solution:
{code}
String beanName = findString(name, "name", "Bean name is required.
Example: com.acme.FooBean");
try {
bean = objectFactory.buildBean(ClassLoaderUtil.loadClass(beanName,
getClass()), stack.getContext());
} catch (Exception e) {
try {
bean = objectFactory.buildBean(beanName, stack.getContext(),
false);
} catch (Exception e1) {
LOG.error("Could not instantiate bean", e);
}
return false;
}
{code}
> s:bean doesn't allow creation of beans from a spring object factory using the
> bean's id
> ---------------------------------------------------------------------------------------
>
> Key: WW-3748
> URL: https://issues.apache.org/jira/browse/WW-3748
> Project: Struts 2
> Issue Type: Bug
> Components: Core Actions
> Affects Versions: 2.3.1.1
> Environment: linux, jdk 1.6
> Reporter: David Mansfield
> Priority: Minor
> Fix For: 2.3.2
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> on core/src/main/java/org/apache/struts2/components/Bean.java line 128:
> bean =
> objectFactory.buildBean(ClassLoaderUtil.loadClass(beanName, getClass()),
> stack.getContext());
> Shouldn't this be:
> bean = objectFactory.buildBean(beanName, stack.getContext(),
> false);
> The factory knows how to get a Class from a String as well as anyone, but the
> "name" is not necessarily a class name when the bean is the id of a spring
> bean.
> This affects s:bean tag.
> AFAICT all versions are affected (just checked svn trunk).
--
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