Warning: You are looking at legacy Zimlet documentation. For Zimbra Modern UI Zimlet development go to: https://wiki.zimbra.com/wiki/DevelopersGuide#Zimlet_Development_Guide.
Developer Article

Article Information

This article applies to the following ZCS versions.

ZCS 4.5 Article ZCS 4.5


In order to use Zimbra Tag Library, tag library description file (tld) needs to be declared in the JSP page. The tag library is installed in the "service" webapp in /opt/zimbra/tomcat/webapps/service. The JSP page needs to be installed in the same webapp in order to use Zimbra Tag Library. tld is found at /opt/zimbra/tomcat/webapps/service/WEB-INF/zimbra.tld with the local URL of /WEB-INF/zimbra.tld.

 <%@ taglib uri="/WEB-INF/zimbra.tld" prefix="z" %>

The following data types are available from Zimbra Tag Library.

  • message
  • conversation
  • contact
  • property
  • zimletconfig


Returns the header value of the message specified by id and field. Or returns the entire message as raw string.

Required attributes:

  • id
  • field


 <z:message id="512" field="subject"/>
 <z:message id="512" field="raw"/>


Conversation is an array of messages. Individual message can be accessed using the index attribute.

Required attributes:

  • id
  • index
  • field


 <z:conversation id="568" index="1" field="subject"/>


Provides access to the fields of addressbook contact entries.

Required attributes:

  • id
  • field

Available fields:

  • birthday
  • callbackPhone
  • carPhone
  • company
  • companyPhone
  • department
  • email
  • email2
  • email3
  • fileAs
  • firstName
  • fullName
  • homeCity
  • homeCountry
  • homeFax
  • homePhone
  • homePhone2
  • homePostalCode
  • homeState
  • homeStreet
  • homeURL
  • initials
  • jobTitle
  • lastName
  • middleName
  • mobilePhone
  • namePrefix
  • nameSuffix
  • nickname
  • notes
  • office
  • otherCity
  • otherCountry
  • otherFax
  • otherPhone
  • otherPostalCode
  • otherState
  • otherStreet
  • otherURL
  • pager
  • workCity
  • workCountry
  • workFax
  • workPhone
  • workPhone2
  • workPostalCode
  • workState
  • workStreet
  • workURL


 <z:contact id="315" field="email"/>


Provides access to the fields of calendar appointment entries.

Required attributes:

  • id
  • field

Available fields:

  • starttime (Thu May 19 17:00:00 PDT 2005)
  • endtime (Thu May 19 17:00:00 PDT 2005)
  • recurring (true/false)
  • allday (true/false)
  • name
  • comment
  • status
  • freebusy


 <z:appointment id="641" field="starttime"/>


Can be used to get/set user properties for the Zimlet.

Required attribute:

  • zimlet


First mode of usage is inline substitution

 <z:property zimlet="com_zimbra_ymap" name="url"/>

To set a property

 <z:property zimlet="com_zimbra_ymap" action="set" name="username" value="test"/>

To get all the properties in a Map

 <z:property zimlet="com_zimbra_ymap" action="list" var="propMap"/>

Then the iteration of the map will return all the properties

 Map prop = (Map) pageContext.getRequest().getAttribute("propMap");
 for (Iterator iter = prop.entrySet().iterator(); iter.hasNext(); ) {
     Map.Entry entry = (Map.Entry)iter.next();
     String key = (String)entry.getKey();
     String val = (String)entry.getValue();


Used to access zimlet configuration.

Required attribute:

  • zimlet


To get global config

 <z:zimletconfig zimlet="com_zimbra_bugz" name="url" scope="global"/>

To get config local to the host

 <z:zimletconfig zimlet="com_zimbra_bugz" name="url" scope="local"/>

When scope is omitted, it will first look at the site config, then global config and look for the first match.

 <z:zimletconfig zimlet="com_zimbra_bugz" name="url"/>

Returns all the config in a Map.

 <z:zimletconfig zimlet="com_zimbra_bugz" action="list" var="conf"/>
 Map conf = (Map) pageContext.getRequest().getAttribute("conf");
 Map gconf = (Map) conf.get("global");
 Map lconf = (Map) conf.get("local");
 for (Iterator iter = gconf.entrySet().iterator(); iter.hasNext(); ) {
     Map.Entry entry = (Map.Entry)iter.next();
     String key = (String)entry.getKey();
     String val = (String)entry.getValue();
Verified Against: unknown Date Created: 3/14/2006
Article ID: https://wiki.zimbra.com/index.php?title=ZimletJSP Date Modified: 2021-07-17

Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search