[
http://issues.apache.org/jira/browse/JELLY-193?page=comments#action_57435 ]
Marc DeXeT commented on JELLY-193:
----------------------------------
Paul,
It's late but... :)
Function Tag seems to me more explicit :
- you can define several function without defining lib.
- each function can be considered as subroutine (without return) to write in
XMLoutput
<function var="motif" args="link,name">
<bigStuffOnSeveralLines/>
<a href="${link}">${name}</a>
<bigStuffOnSeveralLines2/>
</function>
- you can return one or more distinct value with result and return tag
as they implement ArgTagParent.
<function var="f">
<result>
<j:arg value="${retVal0}">
<j:arg value="${retVal1}">
<j:arg value="${retVal2}">
</result>
</function>
<call function="${f}" result="myPetName,myWifeName,myFavoriteBook"/>
I prefer to avoid unreadable stuff like :
${context.parent.setVariable(var,date)}.
If you have customer to answer, less technical it looks, more customer can
think he understand something :))
And I have a lot of not-technical users I want they use and customize little
script for their every-day task.
> Custom Function Tag
> -------------------
>
> Key: JELLY-193
> URL: http://issues.apache.org/jira/browse/JELLY-193
> Project: jelly
> Type: Improvement
> Components: taglib.util
> Versions: 1.0
> Reporter: Marc DeXeT
> Priority: Minor
> Attachments: patch.function.test.txt, patch.function.txt
>
> Create custom callable function in jelly script.
> Feature
> 1 - isolated context for function execution.
> 2 - return list support break
> 3 - result list support
> For example :
> <u:function var="f" args="arg0,arg1">
> <u:result value="${arg0 + arg1}"/>
> </u:function>
>
> <u:call function="${f}" result="s">
> <j:arg value="1"/>
> <j:arg value="2"/>
> </u:call>
> <!-- s = 3 -->
> Another example :
> <u:function var="f" args="arg0">
> <j:switch on="${arg0}">
> <j:case value="start">
> <u:return value="started"/>
> </j:case>
> <j:case value="end">
> <u:return value="ended"/>
> </j:case>
> <j:default>
> <j:set var="ret" value="none"/>
> </j:default>
> </j:switch>
>
> <u:result value="${ret}"/>
> </u:function>
>
> <u:call function="${f}" result="s">
> <j:arg value="start"/>
> </u:call>
> <!-- s = "started" -->
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]