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.
Getting Started
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:
Code Block | ||||
---|---|---|---|---|
| ||||
<action name="test" class="com.acme.TestAction"> <result name="success">test-success.jsp</result> </action> |
Then in test-success.jsp:
Code Block | ||||
---|---|---|---|---|
| ||||
<%@ 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!
Servlet / JSP Scoped Objects
The following are ways to obtain Application scope attributes, Session scope attributes, Request scope attributes, Request parameters and framework Context scope parameters:-
Application Scope Attribute
Assuming there's an attribute with name 'myApplicationAttribute' in the Application scope.
Code Block |
---|
<s:property value="%{#application.myApplicationAttribute}" /> |
Session Scope Attribute
Assuming there's an attribute with name 'mySessionAttribute' in the Session scope.
Code Block |
---|
<s:property value="%{#session.mySessionAttribute}" /> |
Request Scope Attribute
Assuming there's an attribute with name 'myRequestAttribute' in the Request scope.
Code Block |
---|
<s:property value="%{#request.myRequestAttribute}" /> |
Request Parameter
Assuming there's a request parameter myParameter (e.g. http://host/myApp/myAction.action?myParameter=one).
Code Block |
---|
<s:property value="%{#parameters.myParameter}" /> |
Context Scope Parameter
Assuming there's a parameter with the name myContextParam in our context.
Code Block |
---|
<s:property value="%{#myContextParam}" /> |
Tag Support
See the JSP Tags documentation for information on how to use the generic Struts Tags provided by the framework.
Exposing the ValueStack
There are a couple of ways to obtain access to ValueStack from JSPs.