• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)

Struts BEAN Size and Header Tag ( < bean:size > and < bean:header >)

October 3, 2010 //  by Krishna Srinivasan//  Leave a Comment

Struts BEAN Tag Library

Struts BEAN tag library provides tags which are usefull in accessing beans and their properties as well as defining new beans (based on these accesses) that are accessible to the remainder of the page via scripting variables and page scope attributes. Convenient mechanisms to create new beans based on the value of request cookies, headers, and parameters are also provided.

Syntax to use Struts BEAN tag library

<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>

< bean:size > and < bean:header>

< bean:size > -This tag defines a new bean containing the number of elements in the specified Collection or Map.Collection size can be counted in any way as a runtime expression specified as the value of the collection attribute or by JSP bean specified by the name attribute or as specified by property of the bean by the property attribute with respect to given name attribute.
< bean:header > – It is used to define a scripting variable based on the values of the specified request header. It retrieves the specified request header and define the result as the page scope attribute of type String or String[]

Example Code for < bean:size > and < bean:header>

1.Create an Jsp page and name it as BeanSizeTag.jsp.It displays the size of the collection specified in the name and property attributes of the < bean:size > tag. Displays the header information of the page using < bean:header> tag in this example we define two request header values (user-agent,host) and make available as the page context attribute and display.

BeanSizeTag.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %>
<%@taglib prefix="bean" uri="http://jakarta.apache.org/struts/tags-bean" %>

< html>
    < head>

        < title> Bean Size and Header Tag</title>
    < head>
    < body bgcolor="#DDDDDD">
        < h1 > bean:size and bean:header tag example </h1>

		   < bean:size id="beansize" name="BeanSizeForm" property="list"/>

            < h3> Size of the Collection in the Form Bean is:</h3>
			< bean:write name="beansize" /> < br>

		  < h2> Some of Header Object's values</h2>
		   < h3> user agent:</h3>
		    < bean:header id="header_agent" name="user-agent"/>
			 < bean:write name="header_agent"/>
			  < h3> localhost:</h3>
		    < bean:header id="header_host" name="host"/>
			 < bean:write name="header_host"/>
		  </body>
</html>

2.Create a Form bean.Form bean is used to hold the properties of the submitted form which is a sub class of ActionForm.It contains a list of type ArrayList which contains the elements of Integer objects.In this example list is initialized with numbers from 1 to 10 of Integer objects.

BeanSizeForm.java

package com.myapp.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

public class BeanSizeForm extends org.apache.struts.action.ActionForm {

private ArrayList&lt; Integer&gt; list=new ArrayList&lt; Integer&gt;();

    public ArrayList&lt; Integer&gt; getList() {
        return list;
    }

    public void setList() {
        for(int i=0;i&lt; 10;i++)
        this.list.add(i) ;
    }

    public BeanSizeForm() {
        super();

    }

  }

3.Simple Action class BeanSizeAction.java which is a sub class of Action class used to process the user’s request.In this class we set the list in the ActionForm bean.
BeanSizeAction.java

package com.myapp.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;

public class BeanSizeAction extends org.apache.struts.action.Action {

    private final static String SUCCESS = "success";

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
       BeanSizeForm formBean=(BeanSizeForm)form;
       formBean.setList();
        return mapping.findForward(SUCCESS);
    }
}

4.Create or modify struts config file struts-config.xml with action mappings.Struts-config file contains the information about the configuration of the struts framework to the application.It contains the action mappings which helps to select Action,ActionForm and other information for specific user’s request’s.


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

< struts-config>
    < form-beans>
        < form-bean name="BeanSizeForm" type="com.myapp.struts.BeanSizeForm"/>
    </form-beans>

< action-mappings>
        < action name="BeanSizeForm" path="/size" scope="request" type="com.myapp.struts.BeanSizeAction" validate="false">
        < forward name="success" path="/BeanSizeTag.jsp"/>

            </action>
</action-mappings>

	</struts-config>

5.Modify index.jsp which conatins the jsp forward to the action class .

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

< jsp:forward page="size.do"/>

6.Building and running the application
Output
Access page:]http://localhost:8080/beansize/

also read:

  • Struts 2.0 Introduction and Validations using Annotations
  • Introduction to Struts Actions
  • What’s new in Struts 2.0?
  • Internationalization and Taglibs in Struts 1.2

Category: StrutsTag: Struts Tags

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Previous Post: « Struts BEAN Paramter Tag ( < bean:parameter >)
Next Post: Struts BEAN Resource Tag ( < bean:resource >) »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

New Features in Spring Boot 1.4

Difference Between @RequestParam and @PathVariable in Spring MVC

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact