Home > Guides > Core Developers Guide > Annotations > Result Annotation |
The @Result
annotation allows the definition of Action
results in the Action
class rather than an XML file.
The @Result
annotation lives at the Action
class level and not the method level. This matches what is found in an XML-based Action
configuration. Do not be tempted to annotate your Action
's methods; it will not work.
In order for @Result
and @Results
annotations to be configured correctly you must set the actionPackages
filter init-param
to a comma-separated list of packages containing the annotated Action
classes. See Zero Configuration for further information; there are Action
class naming conventions if you don't implement the Action
interface and other tidbits there.
@Result
Annotation ParametersAction.SUCCESS
NullResult
. For example:
NullResult.class
FreemarkerResult.class
PlainTextResult.class
VelocityResult.class
ServletDispatcherResult.class
ServletRedirectResult.class
ServletActionRedirectResult.class
- equivalent to the redirectAction
type in XML configTilesResult.class
Result
interface)@Result
– Defining a Single ResultMap the "success" result (explicitly named) to a Tile definition named "/home.page".
@Result(name="success", value="/home.page", type=TilesResult.class) public class HomeAction extends ActionSupport { // ... }
@Results
– Defining Multiple ResultsDefines a set of results for an Action
.
@Results({ @Result(name="success", value="/home.page", type=TilesResult.class), @Result(name="homeError", value="/homeError.page", type=TilesResult.class) }) public class HomeAction extends ActionSupport { // .... }