You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Vaduvoiu Tiberiu <va...@yahoo.com> on 2007/06/25 10:39:05 UTC
test parameter existance in jxtempate/dasl
Hi, I am having a small problem displaing a search result on my page. my match in sitemap is like this:
<map:match pattern="*/documents/*">
<map:generate src="dasl-documents.xml" type="newjx">
<map:parameter name="repository" value="{global:repositoryRoot}{global:{1}Path}"/>
<map:parameter name="press" value="{2}"/>
<map:parameter name="source" value="{request-param:source}"/>
</map:generate>
......
and in my dasl in the <d:where>/<d:and> I have:
<jx:if test="${cocoon.parameters.source!=''}">
<d:eq>
<d:prop>
<h:presscategory/>
</d:prop>
<d:literal>${cocoon.parameters.source}</d:literal>
</d:eq>
</jx:if>
half works..meaning if my url is like mysite.com/folder/?source=sports I get all the xml files that have the h:presscategory equal to sports...but if my url is like mysite.com/folder/ then I get nothing. When in fact I should get all the results.
So I'm thinking that somehow, the test is not right. By comparing if the parameter is different than '' (is not a double quote, there are two simple ' quotes), it probably thinks the parameters already exists. I;ve also tried using if test="${cocoon.parameters.source}" but doesn't work.anybody can tell me where am I going wrong? 10x
____________________________________________________________________________________
Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games.
http://sims.yahoo.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: test parameter existance in jxtempate/dasl
Posted by Tobia <to...@linux.it>.
Vaduvoiu Tiberiu wrote:
> <jx:if test="${cocoon.parameters.source!=''}">
I believe that a parameter might be null when it's not defined.
Null is definitely != '', so the test "fails to fail"!
If you look at the JEXL syntax (the language you use inside ${...}):
http://jakarta.apache.org/commons/jexl/reference/syntax.html
There is a nice empty() function that tests if the expression is either:
- null
- an empty string
- an array of length zero
- a collection of size zero
- an empty map
So I think this should work:
<jx:if test="${not empty(cocoon.parameters.source)}">
Tobia
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org