Apache Struts 2 Plugin Registry > Home > Breadcrumbs Plugin
#editReport()
Name Breadcrumb Plugin
Publisher Scott Stanlick
License Open Source (ASL2)
Version 1.3
Compatibility Struts 2.0.9+
Homepage http://struts2inaction.com
Download http://struts2inaction.com/child/displayTile-home.action

Rating?

The Struts 2 plug-in is designed to capture bread crumbs. It can be configured many ways.

Overview

This Struts 2 plug-in is designed to capture bread crumbs when the "breadCrumbs" interceptor is included. This plug-in
can be activated by incorporating it with your registered interceptors.

Features

  • Can be configured to suit many different requirements
  • Utilizes native framework functionality

Usage

The plug-in extends struts-default so you can extend the "breadcrumb" package to get these additional features.

Example

======================
A sample configuration
======================

<struts>

 <package name="strutsSchool" extends="tiles-default,com.strutsschool.interceptors.breadcrumbs">

	<interceptors>
		<interceptor-stack name="strutsschoolStack">
			<interceptor-ref name="defaultStack"></interceptor-ref>
			<interceptor-ref name="breadCrumbs">
				<param name="wildCardSeparator">_</param>
	    		        <param name="uniqueCrumbsOnly">true</param>
	    		        <param name="getRequestsOnly">true</param>
	    		        <param name="crumbMax">24</param>
				<param name="excludeMethods">save,update,remove</param>
			</interceptor-ref>
		</interceptor-stack>
	</interceptors>

	<default-interceptor-ref name="strutsschoolStack"/>
</package>
	...
</struts>

The collection of captured requests are stored in session as Crumb objects which expose behavior sensitive to the respective web request.

====================
A sample page region
====================
<div class="breadcrumbs" style="float: left; width: 100%;">
<span>
	<s:iterator	value="%{#session['com.strutsschool.interceptors.breadcrumbs']}" status="status">
		<s:if test="#status.index > 0">
			&#187;
		</s:if>
		<s:url id="uri" action="%{action}" namespace="%{nameSpace}"/>
		<nobr><s:a href="%{uri}"><s:property value="wildPortionOfName"/></s:a></nobr>
	</s:iterator>
</span>
</div>

You could also include screenshots by attaching the images to this page:

Error trying to draw image gallery org.apache.velocity.exception.ParseErrorException: Encountered "=" at /templates/gallery-dynamic-slideshow.vm[line 64, column 37] Was expecting one of: ... "-" ... "+" ... "*" ... "/" ... "%" ... ... ... ... ... ... ... ... ...

Settings

The following settings can be customized. See the developer guide.

Setting Description Default Possible Values
crumbMax
Maximum crumbs to manage before a new request will pop the oldest from stack.  It's a running list of crumbs.
4
int
uniqueCrumbsOnly
Determines if the same Crumb object is unique in crumb collection true
boolean
getRequestsOnly
This will include only HTTP method=GET requests
true
boolean
wildCardSeparator
Wildcard separator used in action mappings. 
_
String
includeMethods
Plug-in utilizes MethodFilterInterceptor, so you can configure methods to be included
none
comma delimited list
excludeMethods
Plug-in utilizes MethodFilterInterceptor, so you can configure methods to be excluded
none
comma delimited list

Installation

This plug-in can be installed by copying the plug-in jar into your application's /WEB-INF/lib directory. No other files need to be copied or created.

Resources

  • Links to any other documentation or related products

Version History

Version Date Author Notes
1.3 Oct 27, 2007 stanlick Initial release