Java Reference
In-Depth Information
To use Struts 2 annotations, you need the plug-in called struts 2-convention-plugin . Add the
dependency to the pom.xml file using the fragment illustrated in Listing 4-23.
Listing 4-23. struts 2-convention-plugin
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.3.15.1</version>
</dependency>
Listing 4-24 illustrates HelloWorldAction configured with Struts 2 annotations.
Listing 4-24. HelloWorldAction
1.package com.apress.helloworld.action;
2.
3.import org.apache.struts2.convention.annotation.Action;
4.import org.apache.struts2.convention.annotation.Result;
5.
6.@Action(value = "/hello", results = { @Result(name = "success", location = "/hello.jsp") })
7.public class HelloWorldAction {
8.private String name;
9.
10.public String execute() throws Exception {
11.return "success";
12.}
13.
14.public String getName() {
15.return name;
16.}
17.
18.public void setName(String name) {
19.this.name = name;
20.}
21.}
Line 6 : @Action defines the URL of an action. Since the value of the action
annotation is "/hello" , the action will be invoked for the request URL "/hello" .
Line 6 : @Result defines a result for an action. The result annotation maps the
result code to the result page. Here the result code "success" is mapped to the
result "/hello.jsp" .
Listing 4-24 uses action and result annotations just to show you how to use them. You can also use
the intelligent defaults provided by the Convention plug-in. If you set the actionPackages filter init
parameter to a comma-separated list of packages containing action classes in web.xml , as illustrated
in Listing 4-25, the packages and their subpackages will be scanned. All classes in the designated
packages that implement Action or the POJO actions that don't implement the Action interface and
end with Action are examined.
 
Search WWH ::




Custom Search