[prev in list] [next in list] [prev in thread] [next in thread]
List: struts-user
Subject: RE: Re: Using bean the same way as bundle with a static string as param.
From: "Robert Alexandersson" <robert.alexandersson () lorensbergs ! com>
Date: 2006-02-28 7:38:48
Message-ID: 6B83514FA6C5894E9B85E8BAF13BB8FA94664D () l-exch01 ! lorensbergs ! com
[Download RAW message or body]
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:news@sea.gmane.org] 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 "render@myapp@person@company"
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("render@myapp@person@company", 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="render@${fn: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="render@${fn: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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic