{:.no_toc}
The default configuration (struts-default.xml
) configures the Dispatcher Result
as the default result, which works well with JavaServer Pages. Any JSP 1.2+ container can work with Struts 2 JSP tags immediately.
Because JSP support occurs through the Dispatcher Result
, which is the default result type, you don't need to specify the type attribute when configuring struts.xml
:
<action name="test" class="com.acme.TestAction"> <result name="success">test-success.jsp</result> </action>
Then in test-success.jsp:
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Hello</title> </head> <body> Hello, <s:property value="name"/> </body> </html>
Where name is a property on your action. That's it!
The following are ways to obtain Application scope attributes, Session scope attributes, Request scope attributes, Request parameters and framework Context scope parameters:
Assuming there's an attribute with name myApplicationAttribute
in the Application scope.
<s:property value="%{#application.myApplicationAttribute}" />
Assuming there's an attribute with name mySessionAttribute
in the Session scope.
<s:property value="%{#session.mySessionAttribute}" />
Assuming there's an attribute with name myRequestAttribute
in the Request scope.
<s:property value="%{#request.myRequestAttribute}" />
Assuming there's a request parameter myParameter
(e.g. [http://host/myApp/myAction.action?myParameter=one]).
<s:property value="%{#parameters.myParameter}" />
Assuming there's a parameter with the name myContextParam
in our context.
<s:property value="%{#myContextParam}" />
See the JSP Tags documentation for information on how to use the generic Struts Tags provided by the framework.
There are a couple of ways to obtain Access to ValueStack from JSPs.