Lets say a quick hello to struts. Struts follows
MVC 2 pattern. The following files are needed to create a hello world
application.
Download Source code

·
index.jsp
·
helloWorld.jsp
·
web.xml
·
struts-config.xml
·
HelloWorldAction.java
·
HelloWorldActionForm.java
web.xml
web.xml is used to
configure the servlet container properties of the hello world appliation.
1.<welcome-file-list>
2.<welcome-file>index.jsp</welcome-file>
3.</welcome-file-list>
The gateway for our
hello world application is index.jsp file. The index.jsp file should be
mentioned in web.xml as shown above.
index.jsp
In the hello world
example the index.jsp page simply forwards the request to the hello world
action.
1.<jsp:forward page="HelloWorld.do"/>
struts-config.xml
struts-config.xml
file is used to configure the struts framework for the hello world application.
This file contains the details regarding the form bean and the action mapping.
01.<struts-config>
02.
03.<form-beans>
04.<form-bean name="HelloWorldActionForm"
05.type="com.vaannila.HelloWorldActionForm"/>
06.</form-beans>
07.
08.<action-mappings>
09.<action input="/index.jsp" name="HelloWorldActionForm"path="/HelloWorld" scope="session"type="com.vaannila.HelloWorldAction">
10.<forward name="success" path="/helloWorld.jsp" />
11.</action>
12.</action-mappings>
13.
14.</struts-config>
HelloWorldActionForm.java
HelloWorldActionForm
extends org.apache.struts.action.ActionForm. HelloWorldActionForm class has one
String variable message and the corresponding getter and setter methods.
01.public class HelloWorldActionForm extends
02.org.apache.struts.action.ActionForm
{
03.
04.private String message;
05.
06.public HelloWorldActionForm() {
07.super();
08.}
09.
10.public String getMessage() {
11.return message;
12.}
13.
14.public void setMessage(String message) {
15.this.message = message;
16.}
17.
18.}
HelloWorldAction.java
HelloWorldAction
class extends org.apache.struts.action.Action. The action class contains an
execute method which contains the business logic of the application. To access
the HelloWorldActionForm variables in the Action we need to type caste the form
object to HelloWorldActionForm. Then we can access the variables using the
getter and setter methods. The execute method returns a value of type
ActionForward, based on its value the corresponding view will be called. This
configuration is done in struts-config.xml file.
01.public class HelloWorldAction extends org.apache.struts.action.Action {
02.
03.private final static String SUCCESS = "success";
04.
05.public ActionForward execute(ActionMapping mapping,ActionForm form,
06.HttpServletRequest
request,HttpServletResponse response) throwsException {
07.
08.HelloWorldActionForm
helloWorldForm = (HelloWorldActionForm) form;
09.helloWorldForm.setMessage("Hello
World!");
10.return mapping.findForward(SUCCESS);
11.
12.}
13.}
1.<action-mappings>
2.<action input="/index.jsp" name="HelloWorldActionForm"path="/HelloWorld"
3.scope="session" type="com.vaannila.HelloWorldAction">
4.<forward name="success" path="/helloWorld.jsp" />
5.</action>
6.</action-mappings>
The name
"success" is mapped to the view helloWorld.jsp. So when the execute
method in the action returns "success" the request will be forwarded
to the helloWold.jsp page.
helloWorld.jsp
In helloWorld.jsp
we get the value of the form variable message and display it. We use struts
bean tag to do this. The name attribute of the bean tag hold the value of the
action form and the property attribute holds the value of the variable to be
displayed.
01.<%@taglib
uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
02.<html>
03.<head>
04.<title>Hello World</title>
05.</head>
06.<body>
07.<h1>
08.<bean:write name="HelloWorldActionForm" property="message" />
09.</h1>
10.</body>
11.</html>
Extract
the downloaded files into the webapps folder of the Tomcat server. Start the
Tomcat server. Type the following url in the browser "http://localhost:8080/Example1/index.jsp".
There you go, you have your first struts program up and running.
No comments:
Post a Comment