Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

By Annotations


Struts 2 provides you convenient way to create struts application using annotations. So, there is no need to have struts.xml file.

As we have said earlier, there are 2 ways to use zero configuration file (no struts.xml file).

  1. By convention
  2. By annotation

Annotations used in struts 2 application

For simple annotation example of struts 2, we can use 3 annotations:

1) @Action annotation is used to mark the action class.

2) @Results annotation is used to define multiple results for one action.

3) @Result annotation is used to display single result.


Example of struts 2 application using annotations

You need to create 4 files for struts annotated application:

  1. index.jsp
  2. Action class
  3. struts.properties inside src directory
  4. Result page
  5. web.xml file

Let’s have a look at the directory structure first.

stanndir

1) Create index.jsp for input

This jsp page creates a form using struts UI tags that receives name from the user.

index.jsp

  1. <%@ taglib prefix=“s” uri=“/struts-tags” %>
  2. <s:form action=“myAction” >
  3. <s:textfield name=“name” label=“Name” />
  4. <s:submit />
  5. </s:form>

2) Create the action class

This action class uses the annotations for the action and result.

RegisterAction.java

  1. package mypack;
  2. import org.apache.struts2.convention.annotation.*;
  3. @Action(value=“myAction”,results={@Result(name=“ok”,location=“/myResults/result.jsp”)})
  4. public class MyAction {
  5. private String name;
  6. public String getName() {
  7.     return name;
  8. }
  9. public void setName(String name) {
  10.     this.name = name;
  11. }
  12. public String execute()
  13. {
  14. return “ok”;
  15. }
  16. }

3) Create struts.properties file inside src directory

struts.properties

  1. struts.convention.package.locators=mypack
  2. struts.convention.result.path=/myResults
  3. struts.convention.action.mapAllMatches=true

4) Create result.jsp to display message

This jsp page displays the username.

result.jsp

  1. <%@ taglib prefix=“s” uri=“/struts-tags” %>
  2. Hello, <s:property value=“name” /> It is annotated application.

download this example developed in eclipse ide (without jar)

Output

stannoutput1

stannoutput2

Comments

comments