Edit on GitHub

# JSP

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`:

    <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!

## 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.

    <s:property value="%{#application.myApplicationAttribute}" />

### Session Scope Attribute

Assuming there’s an attribute with name `mySessionAttribute` in the Session scope.

    <s:property value="%{#session.mySessionAttribute}" />

### Request Scope Attribute

Assuming there’s an attribute with name `myRequestAttribute` in the Request scope.

    <s:property value="%{#request.myRequestAttribute}" />

### Request Parameter

Assuming there’s a request parameter `myParameter` (e.g. [http://host/myApp/myAction.action?myParameter=one]).

    <s:property value="%{#parameters.myParameter}" />

### Context Scope Parameter

Assuming there’s a parameter with the name `myContextParam` in our context.

    <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.