Monday, January 13, 2014

Struts Sample Code

A Full Struts Application
//index.jsp
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<html:html locale="true">
<head>
<title>A Welcome Page</title>
<html:base/>
</head>
<body bgcolor="white">

<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
  <font color="red">
    ERROR:  Application resources not loaded -- check servlet container
    logs for error messages.
  </font>
</logic:notPresent>
    <h1>Reading User Input</h1>

    <html:form action="Data"
          Please type your name: <html:text property="text" />
          <html:submit />
    </html:form

</body>
</html:html>

//ch03_01.jsp
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/ch03" prefix="ch03" %>

<HTML>
    <HEAD>
        <TITLE>The Struts Cafe</TITLE>
    </HEAD>
    
    <BODY>
        <H1>The Struts Cafe</H1>
        <html:errors/>
        <ch03:items/>
        <ch03:toppings/>
        <html:form action="ch03_04.do">
            <TABLE>
                <TR>
                    <TD ALIGN="LEFT" VALIGN="TOP">
                        <bean:message key="toppings"/>
                        <BR>
                        <logic:iterate id="toppings1" name="toppings">
                            <html:multibox property="toppings">
                                <%= toppings1 %>
                            </html:multibox>
                            <%= toppings1 %>
                            <BR>
                        </logic:iterate>
                    </TD>
                    <TD ALIGN="LEFT" VALIGN="TOP">
                        <bean:message key="items"/>
                        <BR>
                        <html:select property="items">
                            <html:options name="items"/>
                        </html:select>
                    </TD>
                </TR>
                <TR>
                    <TD ALIGN="LEFT">
                                    <BR>
                        <bean:message key="email"/>
                        <html:text property="email"/>
                    </TD>
                <TR>
            </TABLE>
                  <BR>
            <html:submit value="Place Your Order!"/>
        </html:form>
    </BODY>
</html>

package ch03;

import ch03.DataForm;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;

public class DataAction extends Action {

  public ActionForward execute(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException {

    String text = null;

    String target = new String("success");

    if form != null ) {

      DataForm dataForm = (DataForm)form;

      text = dataForm.getText();

    }

    return (mapping.findForward(target));
  }
}

package ch03;

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

public class DataForm extends ActionForm {

  private String text = null;

  public String getText() {

    return (text);
  }

  public void setText(String text) {

    this.text = text;
  }

  public void reset(ActionMapping mapping,
    HttpServletRequest request) {

    this.text = null;
  }

//  public ActionErrors validate(ActionMapping mapping,
//    HttpServletRequest request) {

//    ActionErrors errors = new ActionErrors();

//    if ( (symbol == null ) || (symbol.length() == 0) ) {

//      errors.add("symbol",
//        new ActionError("errors.data.symbol.required"));
//    }
//    return errors;
//  }
}

package ch03;

import java.util.*;
import javax.servlet.jsp.tagext.TagSupport;

public class ch03_02 extends TagSupport 
{
    public int doStartTag() 
      {
        
        String[] itemsArray = {"""Pizza""Calzone""Sandwich"};
        
        pageContext.setAttribute("items", itemsArray);
        
        return SKIP_BODY;
    }
}
package ch03;

import java.util.*;
import javax.servlet.jsp.tagext.TagSupport;

public class ch03_03 extends TagSupport 
{
    public int doStartTag() 
      {
        String[] toppingsArray = {"Pepperoni""Hamburger""Sausage""Ham""Cheese"};
        
        pageContext.setAttribute("toppings", toppingsArray);
        
        return SKIP_BODY;
    }
}

package ch03;

import java.io.*;
import java.util.*;
import ch03.ch03_06;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import org.apache.struts.action.*;

public class ch03_04 extends Action 
{
  public ActionForward execute(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException {

        ActionErrors actionerrors = new ActionErrors();
                
        ch03_06 orderForm = (ch03_06)form;
        
        String email = orderForm.getEmail();        
        if(email.trim().equals("")) {
            actionerrors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.noemail"));
        }
        
        String items = orderForm.getItems();        
        if(items.trim().equals("")) {
            actionerrors.add("ActionErrors.GLOBAL_ERROR"new ActionError("error.noitems"));
        }
        
        String[] toppings = orderForm.getToppings();        
        if(toppings == null) {
            actionerrors.add("ActionErrors.GLOBAL_ERROR"new ActionError("error.notoppings"));
        }
            
        if(actionerrors.size() != 0) {            
            saveErrors(request, actionerrors);
            return new ActionForward(mapping.getInput());            
        }
        return mapping.findForward("OK");
    }
}

A Full Struts Application

           
       

No comments:

Post a Comment