advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Tutorials : Building a sample Web App with STRUTS :

4. Let's take a look at what this file contains: The following are STRUTS tag lib definitions. These tell us we are using the STRUTS tag libraries. Please look at the STRUTS documentation for further details of these tag libraries.


< %@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
< %@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
< %@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>


      
Every html tag that is preceded with 'HTML', 'bean' or 'logic' will be interpreted by the STRUTS framework. For example: < html:html> You can also have normal HTML tags in your JSP that do not need to be interpreted by STRUTS, such as: <P>Welcome < /P> We will use two main aspects of struts--collecting user I/P in a form bean and screen flow using action mapping. For example look at the following form definition. It defines a, text entry box, ipString and a submit button. The form submits to an action called TestAction.
<html:form action="/TestAction">

      	<html:text property="ipString" size="50"/>

      	<html:submit property="submit" value="Submit"/>
</html:form>
We need to define a javabean for every 'form'. You could use Dynaform another STRUTS construct but this approach of creating a bean per form is simpler. Struts will automatically copy the values entered by the user into this bean and send it to the 'action handler'. Hence we will need to define an action handler per action.

5. In this JSP so far we have a text box to enter a 'string' and a button to submit the form and an action - 'TestAction'. Now we need to create a 'form' java bean corresponding to the form defined in the HTML. Remember the form has only one text entry box for ipString. Hence the bean needs to provide get and set methods for ipString. To do this create the following file: TestFormBean.java. I have created this under com/openstack/struts/testapp directory under WEB-INF/src in our project, as listed bellow.

package com.openstack.struts.testapp;


import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;



public final class TestFormBean extends ActionForm  {

  private String action = "Create";
  private String ipString = null;

public void reset(ActionMapping mapping, HttpServletRequest request) {

        this.action = "Create";
        this.ipString = "Reseted";

    }
}

Basically we just need to create the fields / parameters that are part of the bean. Such as ipString. We will discuss the 'action' string later.

Generate getters and setters: In NetBeans, in the left project window, select TestFormBean.java , click to navigate to the fields. Select the fields (select multiple fields by using SHIFT key). Then while the fields are selected right click and click on tools - 'generate R/W property for the field'. This should generate the following code:

    /** Getter for property action.
     * @return Value of property action.
     *
     */
    public java.lang.String getAction() {
        return action;
    }
    
    /** Setter for property action.
     * @param action New value of property action.
     *
     */
    public void setAction(java.lang.String action) {
        this.action = action;
    }
    
    /** Getter for property ipString.
     * @return Value of property ipString.
     *
     */
    public java.lang.String getIpString() {
        return ipString;
    }
    
    /** Setter for property ipString.
     * @param ipString New value of property ipString.
     *
     */
    public void setIpString(java.lang.String ipString) {
        this.ipString = ipString;
    }


[Next]

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 34
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

IBM Brings Developers Into the Cloud
Apache at 10: You Can't Buy Us
Microsoft's CodePlex Foundation Moving Forward
Apple Claims 100,000 Apps, Google Analyzes Them
Nokia Latest to Play Opera Mobile 10 Browser
PayPal Opens Up Payment Platform to Devs
Ubuntu Linux 9.10 'Karmic Koala' Starts Its Climb
IBM Links Rational Developer Tools, Tivoli Apps
Libraries Give Vista Apps a Windows 7 Look
Ubuntu: The 'Default Alternative' to Windows?

Delivering Web-based Embedded Fonts in CSS 3
Adobe Helps PHP Developers Create Rich Internet Applications
Java Developers Finding a Home at Adobe Flex
Virtualization Delivers a Dynamic Infrastructure
Consuming XML Web Services in iPhone Applications
Build a More Agile Business with IBM
POJO-Based Solutions for LDAP Access: One Good, One Better
IBM Offers Enhanced Measurement and Management for Energy Usage
IBM Helps Transformation to an Information-Based Enterprise
Top Five Touch UI-Related Design Guidelines

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs