You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Name

Breadcrumb Plugin

Publisher

Scott Stanlick

License

Open Source (ASL2)

Version

1.3

Compatibility

Struts 2.0.9+

Homepage

http://strutsschool.com

Download

http://www.strutsschool.com/downloads/downloads.action

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

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

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

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

======================
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">2</param>
				<param name="excludeMethods">save,update,remove</param>
			</interceptor-ref>
		</interceptor-stack>
	</interceptors>

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

The collection of captured requests are stored in session as Crumb objects which expose the following properties:

    String action
    String nameSpace
    String wildPortionOfName
    boolean uniqueCrumbsOnly
    boolean getRequestsOnly
 

====================	
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:

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.  e.g.

http://somesite.com/somepackage/SomeAction_print.action?

uses the (_)

_

String{}

includeMethods

Plug-in utilizes MethodFilterInterceptor, so you can configure methods to be included

none

comma delimited list

excludeMethods

Maximum crumbs to manage before a new request begiwill pop the oldest from stack

show,edit,destroy,save,update,remove

comma delimited list

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

  • Links to any other documentation or related products

Version

Date

Author

Notes

1.3

Oct 27, 2007

stanlick

Initial release

  • No labels