Thanx a lot, it worked like a scharm, I just changed the requestScope to
applicationScope.
So I would say u understood!

This works really nice as a rights management replacement.
Would any of you out there implement this different?
I thought of the JSF rendered attribute when I did this.


/Robert

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Laurie Harper
Sent: Monday, February 27, 2006 9:51 PM
To: user@struts.apache.org
Subject: Re: Using bean the same way as bundle with a static string as
param.

Robert Alexandersson wrote:
> Hello.
> 
> I am using JSP 2.0 tagfiles creating custommtags and want a render
> controller.
> I want to make a sort of <mytag:render property="module.page.part">
> 
> In a controller i create the settingbean parameters.
> In the jsp I call the tag file.
> In the tagfile I try to evaluate the incoming static string byt this I
> can not figure out.
> The render attribute contains a string "[EMAIL PROTECTED]@[EMAIL PROTECTED]"
but
> I can not use this in the test of c:if because it evaluates the string
> not the bean-param value behind it. Is it possible to set this value
> into a new parameter and getting its real value. I can print it using
> bean:write but thats it....
> 
> 
> Example CODE:
> 
> JSP
> <mytag:render property="myapp.person.company">
>       <fieldset>
>             <legend>Company</legend>
>               <inparam > ...
>       </fieldset>
> </mytag:render>
> 
> JAVA-CODE
> 
> public static void createRender(ServletContext context){
> context.setAttribute("[EMAIL PROTECTED]@[EMAIL PROTECTED]", new
Boolean(true));
> }
> 
> 
> TAG-FILE
> 
> <%@ tag body-content="scriptless" %>
> <%@ attribute name="property" required="true" %>
> 
> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"; %>
> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"; %>
> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
> 
> <jsp:doBody var="thebody" />
> 
> <c:set var="render" value="[EMAIL PROTECTED]:replace(property, '.',
> '@')}"></c:set>
> 
> <c:if test="${render}">
> ${thebody}
> </c:if>

I'm not sure I fully understand what you're after, but maybe this will 
do what you want:

   <c:set var="renderExp" value="[EMAIL PROTECTED]:replace(property, 
'.','@')}"></c:set>
   <c:set var="render" value="${requestScope[renderExp]}"/>

You'll need to change your Java code to store the property in request 
scope instead of the servlet context, too.

L.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to