com.ecyrd.jspwiki.tags

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Wiki Engine » JSPWiki » com.ecyrd.jspwiki.tags 
com.ecyrd.jspwiki.tags
Provides standard JSP tags for JSPWiki.

Package specification

This package contains a diverse set of JSP tags which are used in the template pages.

Managing tag pooling

A typical problem for many tag developers is that many web containers pool tags, i.e. the tag is not released after doEndTag(), but put into a pool, from which it can be invoked again. This is highly efficient, as you don't need to instantiate the tag again.

The problem, however, is that when your tag is put back into the pool, it still retains all the internal references, i.e. none of the member fields are cleared. This means there can be dangling references to things which will take a lot of memory. In JSPWiki's case, the WikiContext is a good example: it can actually contain quite a lot of stuff accumulated during it's life time, and therefore it's important for memory use that all references are cleared.

Unfortunately, the "easy" solution of implementing your custom release handler in Tag.release() does not help, since it is called only when the tag is truly and completely released from the pool. So, as long as the tag sits in the pool, release() is not called, and your references keep on dangling like wet spaghetti off the balcony.

Neither can you trust e.g. doEndTag() being called every time, since e.g. if there is an exception, doEndTag() is never called.

The correct way to do reference cleaning is to implement the {@link javax.servlet.jsp.tagext.TryCatchFinally} interface, where the doFinally() method is called every time the tag has been finished with and prior to it being put back into the pool. Most JSPWiki base tag classes {@link com.ecyrd.jspwiki.tags.IteratorTag} and {@link com.ecyrd.jspwiki.tags.WikiTagBase} implement the TryCatchFinally interface, which means that any class subclassed from them also allows has those methods.

Check out the javadocs for the tags for more info!

Related documentation

TBD.
Java Source File NameTypeComment
AdminBeanIteratorInfo.javaClass
AdminBeanIteratorTag.javaClass
AttachmentsIteratorInfo.javaClass Just provides the TEI data for AttachmentsIteratorTag.
AttachmentsIteratorTag.javaClass Iterates through the list of attachments one has.

Attributes

  • page - Page name to refer to.
AuthorTag.javaClass Writes the author name of the current page, including a link to that page, if that page exists.
BaseURLTag.javaClass Writes the jspwiki.baseURL property.
BreadcrumbsTag.javaClass Implement a "breadcrumb" (most recently visited) trail.
CalendarTag.javaClass Provides a nice calendar.
CheckLockInfo.javaClass
CheckLockTag.javaClass
CheckRequestContextTag.javaClass Includes body, if the request context matches.
CheckVersionTag.javaClass Does a version check on the page.
CommentLinkTag.javaClass Writes a comment link.
ContentEncodingTag.javaClass Returns the app name.
ContentTag.javaClass Is used as a "super include" tag, which can include the proper context based on the wikicontext.
CookieTag.javaClass Sets or gets Cookie values.
DiffLinkTag.javaClass Writes a diff link.
EditLinkTag.javaClass Writes an edit link.
EditorIteratorInfo.javaClass Just provides the TEI data for EditorIteratorTag.
EditorIteratorTag.javaClass Iterates through editors.
EditorTag.javaClass Creates an editor component with all the necessary parts to get it working.
FeedDiscoveryTag.javaClass Outputs links to all the site feeds and APIs this Wiki/blog supports.
HasAttachmentsTag.javaClass Includes body if page has attachments.
HistoryIteratorInfo.javaClass Just provides the TEI data for HistoryIteratorTag.
HistoryIteratorTag.javaClass Iterates through tags.

Attributes

  • page - Page name to refer to.
IfNoSearchResultsTag.javaClass If there have been no search results, then outputs the body text.
IncludeResourcesTag.javaClass This tag is used to include any programmatic includes into the output stream.
IncludeTag.javaClass Includes an another JSP page, making sure that we actually pass the WikiContext correctly.
InsertDiffTag.javaClass Writes difference between two pages using a HTML table.
InsertPageTag.javaClass Renders WikiPage content.
IteratorTag.javaClass Iterates through tags.
LinkTag.javaClass Provides a generic link tag for all kinds of linking purposes.
LinkToParentTag.javaClass Writes a link to a parent of a Wiki page.

Attributes

  • page - Page name to refer to.
LinkToTag.javaClass Writes a link to a Wiki page.
MessagesTag.javaClass Returns or clears the current messages associated with the user's wiki session.
NextVersionTag.javaClass Writes the version number of the next version of the page.
NoSuchPageTag.javaClass Includes the body in case there is no such page available.
PageDateTag.javaClass Writes the modification date of the page, formatted as specified in the attribute "format".
PageExistsTag.javaClass Includes the body in case the set page does exist.
PageInfoLinkTag.javaClass Writes a link to the Wiki PageInfo.
PageNameTag.javaClass Returns the currently requested page name.
PageSizeTag.javaClass Returns the currently requested page or attachment size.
PageTypeTag.javaClass Includes the body, if the current page is of proper type.
PageVersionTag.javaClass Writes the version of the current page.
ParamHandler.javaInterface Interface to be implemented by any tag that wishes to contain a wiki:param tag for passing dynamic name-value pairs.
ParamTag.javaClass ParamTag submits name-value pairs to the first enclosing ParamHandler instance.
ParentPageNameTag.javaClass Returns the parent of the currently requested page.
PermissionTag.javaClass Tells whether the user in the current wiki context possesses a particular permission.
PluginTag.javaClass Inserts any Wiki plugin.
PreviousVersionTag.javaClass Outputs the version number of the previous version of this page.
RequestResourceTag.javaClass Provides easy access to TemplateManager.addResourceRequest().
RSSCoffeeCupLinkTag.javaClass Writes an image link to the RSS file with the Coffee Cup for Userland aggregation.
RSSImageLinkTag.javaClass Writes an image link to the RSS file.
RSSLinkTag.javaClass Writes a link to the RSS file (using the "link" attribute).
SearchResultIteratorInfo.javaClass Just provides the TEI data for IteratorTag.
SearchResultIteratorTag.javaClass Iterates through Search result results.
SearchResultsSizeTag.javaClass Outputs the size of the search results list, if it contains any items.
SearchResultsTag.javaClass Includes the body content, if there are any search results.
SetPaginationTag.javaClass Calculate pagination string.
TabbedSectionTag.javaClass Generates tabbed page section: container for the Tab tag. Works together with the tabbedSection javacript.

Attributes

  • defaultTab - Page name to refer to.
TabTag.javaClass Generates single tabbed page layout. Works together with the tabbedSection javascript.
TemplateDirTag.javaClass Returns the currently used template.
TranslateTag.javaClass Converts the body text into HTML content.
UploadLinkTag.javaClass Writes a link to the upload page.
UserCheckTag.javaClass Includes the content if an user check validates.
UserNameTag.javaClass Returns the current user name, or empty, if the user has not been validated.
UserProfileTag.javaClass

Returns user profile attributes, or empty strings if the user has not been validated.

VariableTag.javaClass Returns the value of an Wiki variable.

Attributes

  • var - Name of the variable.
WikiBodyTag.javaClass This is a class that provides the same services as the WikiTagBase, but this time it works for the BodyTagSupport base class.
WikiLinkTag.javaClass Root class for different internal wiki links.
WikiTagBase.javaClass Base class for JSPWiki tags.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.