DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Collection of Velocimacros that are of a web-oriented nature and/or make use of the various VelocityView tools (using their recommend keys of course!)
#* * HTML velocimacro * @author Robin Mannering *# ## Checkbox control. 'Remembers' checkbox choices made by user on previous form submission. ## $name The control name ## $selectedValues A list of currently checked values ## $labels The list of labels for the options ## $values The list of values for the options #macro (checkboxGroup $name $selectedValues $labels $values) ## Use a zero-based counter. #set ( $index = 0 ) #foreach( $value in $values ) #set ( $rendered = false ) #foreach( $selectedValue in $selectedValues ) #if ( $value == $selectedValue ) <input type="checkbox" name="$name" value="$value" checked>$!labels.get($index)</input><br/> #set ( $rendered = true ) #end #end #if ( $rendered == false ) ## the current checkbox still hasn't been rendered it, so it must be rendered (unchecked) <input type="checkbox" name="$name" value="$value">$!labels.get($index)</input><br/> #end #set ( $index = $index + 1 ) #end #end
#*
* HTML velocimacros
* @author Ted Husted
*#
## Select control
## $name The control name
## $selected The selected value
## $labels The list of labels for the options
## $values The list of values for the options
#macro (select $name $selected $labels $values)
## The velocityCounter starts at 1 by default, so we use our own zero-based counter.
#set($s="NULL" )
#set($s=$selected )
#set($i=0 )
<select name="$name">
#foreach ($v in $values)
<option value="$v"#if("$v"=="$s") selected="selected"#end>$!labels.get($i)</option>
#set($i=1+$i)
#end
</select>
#end
## Select control
## $name The control name
## $selected The selected value
## $values The list of values for the options
#macro (selectValues $name $selected $values)
#set($s="NULL" )
#set($s=$selected )
<select name="$name">
#foreach ($v in $values)
<option #if("$v"=="$s") selected="selected"#end>$!v</option>
#end
</select>
#end
## Shorter version of selectValues ## @author Lance Lavandowska #macro (selectValuesShort $name $selected $values) #select($name $selected $values $values) #end
## Select control using LabelValue objects (label property, value property)
## $name The control name
## $selected The selected value
## $beans The collection of LabelValue beans
#macro (selectList $name $selected $list )
#set($s="NULL" )
#set($s=$selected )
<select name="$name">
#foreach ($e in $list )
#set($v = $e.value )
<option value="$v"#if("$v"=="$s") selected="selected"#end>$e.label</option>
#end
</select>
#end
## Pager macro
## author Serges Zubkov
## Macro for pager control on velocity list pages
## $skip The value of currentky skipping elements
## $pager The value of elements situated on the page count
## $pagersize The value of the pages shown in the pager
## $elementscount The overal elements count
## $link The common link such as: "yoururl?param1=value1¶m2=param2&" (the final '?' or '&' is required)
## $cur "Label" of the pager.
##
#macro (pager $skip $pagesize $pagersize $elementscount $link $cur )
<table border="0" cellpadding="2" cellspacing="1" width="100%">
<tr>
<td valign="center" align="left" width="30%">
#if ($elementscount > $pagesize)
#set ($curpage = $skip / $pagesize)
#set ($curpage = $curpage + 1)
#if ($curpage == 1)
#else
<a href="${link}skip=0"><<</a>
#set ($pg = $curpage - 2)
#set ($pg = $pg * $pagesize)
<a href="${link}skip=$pg"><</a>
#end
#set ($semipagesize = $pagersize / 2)
#set ($minpage = $curpage - $semipagesize)
#set ($maxpage = $curpage + $semipagesize)
#set ($potentialmaxpage = $elementscount / $pagesize)
#set ($trunk = $elementscount % $pagesize)
#if ($trunk > 0)
#set ($potentialmaxpage = $potentialmaxpage + 1)
#end
#if ($minpage < 1)
#set ($minpage = 1)
#end
#if ($maxpage > $potentialmaxpage)
#set ($maxpage = $potentialmaxpage)
#end
#set ($pages = [$minpage .. $maxpage])
#foreach ($page in $pages)
#if ($page == $curpage)
$page
#else
#set ($pg = $page - 1)
#set ($pg = $pg * $pagesize)
<a href="${link}skip=$pg">$page</a>
#end
#end
#if ($curpage == $potentialmaxpage)
#else
#set ($pg = $curpage * $pagesize)
<a href="${link}skip=$pg">></a>
#set ($pg = $potentialmaxpage - 1)
#set ($pg = $pg * $pagesize)
<a href="${link}skip=$pg">>></a>
#end
#else
#set ($curpage = 1)
#set ($potentialmaxpage = 1)
#end
</td>
<td align="center" valign="center" width="30%">
#set ($firstElement = $curpage - 1)
#set ($firstElement = $firstElement * $pagesize)
#set ($firstElement = $firstElement + 1)
#set ($lastElement = $curpage * $pagesize)
#if ($curpage == $potentialmaxpage)
#set ($lastElement = $elementscount)
#end
$firstElement - $lastElement из $elementscount
</td>
<form name="sizeform$cur" method="post" action="$link">
<td align="right" valign="center">
Page size:
#set ($str = "javascript:sizeform$cur")
#set ($str = "${str}.submit()")
<select name="size" onChange="$str" class="form">
#set ($values = [1..10])
#foreach ($value in $values)
#set ($optValue = $value * 10)
#if ($pagesize == $optValue)
<option value="$optValue" selected>$optValue</option>
#else
<option value="$optValue">$optValue</option>
#end
#end
</select>
</td>
</form>
</tr>
</table>
#end
## Pager for printable pages - one more pager
## author Serget Zubkov
#macro(printPager $skip $pagesize $pagersize $elementscount $link $cur)
<table border="0" cellpadding="2" cellspacing="0" width="100%" bordercolor="#FFFFFF">
<tr>
<td valign="center" align="left">
#if ($elementscount > $pagesize)
#set ($curpage = $skip / $pagesize)
#set ($curpage = $curpage + 1)
#set ($semipagesize = $pagersize / 2)
#set ($minpage = $curpage - $semipagesize)
#set ($maxpage = $curpage + $semipagesize)
#set ($potentialmaxpage = $elementscount / $pagesize)
#set ($trunk = $elementscount % $pagesize)
#if ($trunk > 0)
#set ($potentialmaxpage = $potentialmaxpage + 1)
#end
#if ($minpage < 1)
#set ($minpage = 1)
#end
#if ($maxpage > $potentialmaxpage)
#set ($maxpage = $potentialmaxpage)
#end
#set ($firstElement = $curpage - 1)
#set ($firstElement = $firstElement * $pagesize)
#set ($firstElement = $firstElement + 1)
#set ($lastElement = $curpage * $pagesize)
#if ($curpage == $potentialmaxpage)
#set ($lastElement = $elementscount)
#end
#set ($pages = [$minpage .. $maxpage])
#if ($minpage > 1)
#set ($pghi = $pagesize)
#if ($pghi > $elementscount)
#set ($pghi = $elementscount)
#end
[<a href="${link}printSkip=0">1..$pghi</a>]..
#set ($pg = $curpage - 2)
#end
#foreach ($page in $pages)
#if ($page == $curpage)
[<b>$firstElement..$lastElement</b>]
#else
#set ($pg = $page - 1)
#set ($pg = $pg * $pagesize)
#set ($pghi = $pg + $pagesize)
#set ($pglo = $pg + 1)
#if ($pghi > $elementscount)
#set ($pghi = $elementscount)
#end
[<a href="${link}printSkip=$pg">$pglo..$pghi</a>]
#end
#end
#if ($maxpage < $potentialmaxpage)
#set ($pg = $potentialmaxpage - 1)
#set ($pg = $pg * $pagesize)
#set ($pglo = $pg + 1)
..[<a href="${link}printSkip=$pg">$pglo..$elementscount</a>]
#end
#else
#set ($curpage = 1)
#set ($potentialmaxpage = 1)
#end
</td>
</tr>
</table>
#end