6.6. Including the Response from a Servlet or JSP
Problem
You want to retrieve and include a partial HTTP response from a servlet or JSP, but you want control to go through Struts.
Solution
Employ an including action. Specifying the module-relative path to
the resource as the value of the include attribute
is the most convenient way:
<action path="/IncludeContent"
include="/LegacyIncludeServlet"/>Alternatively, if you use a custom
RequestProcessor, which overrides the
processForwardConfig( ) method, you must use the
Struts built-in IncludeAction, specifying the
context-relative path for the value of the
parameter attribute:
<action path="/IncludeContent"
type="org.apache.struts.actions.IncludeAction"
parameter="/LegacyIncludeServlet"/>Discussion
This recipe addresses a problem similar to that in Recipe 6.6. The solution is similar as well; you can use
the include attribute of the action element, or
you can use the Struts-provided IncludeAction. The
IncludeAction uses the value specified for the
parameter attribute to indicate the resource whose
response is to be included.
You may have legacy code that includes content, using
RequestDispatcher.include( ) or
jsp:include, from another servlet or JSP. You can
replace direct references to the included resources with an including
action defined in your
struts-config.xml
file.
Like the ForwardAction, you only need to use the
IncludeAction if you are using a custom
RequestProcessor, which overrides the
processForwardConfig( ) method, to handle ...