Annotation is an alternatives of xml in a java application. It is a way to adding metadata facility to the application. for example interfaces and classes defines a type in an application and they can be used to several application elements. The annotation can be a compiler instruction that describes how to compile the code. The annotations are of many types that outline the data it contains. For Example @Action, @Override, @result, @Before, @Test etc. Every annotation type starts with the @ followed be a annotation name or interface name.
For Example to define an action Annotation you may write code as
@Action(value="/actionName",results={@Result(name=".....", location=".....")})
An annotation Based Hello World example is given below which takes user name as input and prints a message Hello plus user name.
HelloWorldAction.java
package net.roseindia.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
public class HelloWorldAction {
private static final long serialVersionUID = 1L;
String userName;
String message;
@Action(value = "/hello", results = { @Result(name = "success", location = "/jsp/successPage.jsp") })
public String execute() throws Exception {
message = "Hello " + userName;
return "success";
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
index.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<head>
<title>Annotation Example</title>
<style type="text/css">@import url(css/main.css);</style>
<style>
.errorMessage {
color:green;
}
</style>
<body bgcolor="#A3A3FF">
<center>
<h2>Please Enter Your Name</h2>
<s:form action="hello">
<s:textfield name="userName" label="Please Specy Your Name"/>
<s:submit/>
</s:form>
</center>
</body>
successPage.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Annotation Example</title>
</head>
<body bgcolor="#9E9EE8">
<center>
<h1>${message}</h1>
</center>
</body>
</html>
struts.properties
struts.convention.result.path=/jsp
|
|
To See More Example on annotation follow the links given below