Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > JSP |
The default configuration (struts-default.xml configures the Dispatcher Result as the default result, which works welll 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 configuration 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 obtained 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.