How does Struts create an action bean?

2019-09-01 14:57发布

问题:

I use Struts2.x and I know that Struts creates the declared bean objects in the action based on the request so that it is available to the action. I have been researching to understand which interceptors/classes does Struts use internally to create the bean object. I am trying to understand the logic that is used internally for creation of the bean objects. Does it use PropertyUtils to populate properties for the beans or some other way? Any suggestion or pointers for reading will be helpful.

回答1:

Internally Struts uses the ObjectFactory to build all objects defined by the configuration. See more about ObjectFactory docs or The Struts 2 Request Flow.

When you populate some bean using params interceptor it will by default create objects if they not exist with the help of OGNL. It's also configurable.

PropertyUtils isn't used by the Struts2 core, but could be used by plugins if they need a commons-beanutils package.