You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Kris Barnhoorn <kr...@biassweb.be> on 2004/07/29 17:24:35 UTC
bean:define vs c:set
Hi,
First of all I'd like to thank the contributors of this mailinglist. I'm
using struts for over 1.5 years now and i always found answers in
archives.
In this mailinglist and in the contrib/el there is often suggested that
the best way to prepare for smooth transition to JSP 2.0 is to use el
tags now and once the application runs on a container that supports JSP
2.0 just change the links to the tags in web.xml.
Well found an inconvenience in the fact that the define tag was not
ported.
I have a value in a request variable that specifies who many page items
should be displayed on the page.
But because the pager tag hasn't el capabilities i had to use the define
tag like:
<bean:define id="pageItems" name="optionsForm" property="pageItems"
type="java.lang.Integer"/>
<pg:pager
maxPageItems="<%=pageItems.intValue()%>">
//items
</pg:pager>
In the el way it should be like:
<c:set var="pageItems" value="${optionsForm.pageItems}"/>
<pg:pager
maxPageItems="<%=pageItems.intValue()%>">
//items
</pg:pager>
--> but the var pageItems can't be use in scriptlet (not in c or c_rt)
So I guess is there a way to work around this without declaring the
pageItems like this?
<% Integer pageItems =
((com.mycompany.foo.struts.OptionsForm)request.getAttribute("optionsForm
")).getItems();%>
Thank you
Kris.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
RE: bean:define vs c:set
Posted by Kris Schneider <kr...@dotech.com>.
<c:set var="pageItems" value="${optionsForm.pageItems}"/>
<jsp:useBean id="pageItems" type="java.lang.Integer"/>
<pg:pager maxPageItems="<%= pageItems.intValue() %>">
...
</pg:pager>
Quoting Kris Barnhoorn <kr...@biassweb.be>:
> Because my production environment is still in JSP 1.2.
> And it looks like it will be for some time.
>
> In other words I still have to work with tomcat 4.1 but I'm trying to
> make as much code possible ready for the upgrade to tomcat 5.
>
>
> Kris.
>
> -----Oorspronkelijk bericht-----
> Van: Craig McClanahan [mailto:craigmcc@gmail.com]
> Verzonden: donderdag 29 juli 2004 18:25
> Aan: Struts Users Mailing List
> Onderwerp: Re: bean:define vs c:set
>
> You are correct that <c:set> does not create a scripting variable, so
> you can't use the specified identifier in a scriptlet. The question,
> though, is why are you still using a scriptlet expression? Why not
> use an EL expression instead?
>
> <pg:pager maxPageItems="${pageItems}"/>
>
> or, to avoid needing to do the <c:set> in the first place:
>
> <pg:pager maxPageItems="${optionsForm.pagItems}"/>
>
>
> The appropriate conversions will happen for you automatically.
>
> Craig
>
>
> On Thu, 29 Jul 2004 17:24:35 +0200, Kris Barnhoorn <kr...@biassweb.be>
> wrote:
> > Hi,
> >
> > First of all I'd like to thank the contributors of this mailinglist.
> I'm
> > using struts for over 1.5 years now and i always found answers in
> > archives.
> >
> > In this mailinglist and in the contrib/el there is often suggested
> that
> > the best way to prepare for smooth transition to JSP 2.0 is to use el
> > tags now and once the application runs on a container that supports
> JSP
> > 2.0 just change the links to the tags in web.xml.
> >
> > Well found an inconvenience in the fact that the define tag was not
> > ported.
> >
> > I have a value in a request variable that specifies who many page
> items
> > should be displayed on the page.
> > But because the pager tag hasn't el capabilities i had to use the
> define
> > tag like:
> >
> > <bean:define id="pageItems" name="optionsForm" property="pageItems"
> > type="java.lang.Integer"/>
> >
> > <pg:pager
> > maxPageItems="<%=pageItems.intValue()%>">
> >
> > //items
> > </pg:pager>
> >
> > In the el way it should be like:
> >
> > <c:set var="pageItems" value="${optionsForm.pageItems}"/>
> >
> > <pg:pager
> > maxPageItems="<%=pageItems.intValue()%>">
> >
> > //items
> > </pg:pager>
> >
> > --> but the var pageItems can't be use in scriptlet (not in c or c_rt)
> >
> > So I guess is there a way to work around this without declaring the
> > pageItems like this?
> >
> > <% Integer pageItems =
> >
> ((com.mycompany.foo.struts.OptionsForm)request.getAttribute("optionsForm
> > ")).getItems();%>
> >
> > Thank you
> > Kris.
--
Kris Schneider <ma...@dotech.com>
D.O.Tech <http://www.dotech.com/>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
RE: bean:define vs c:set
Posted by Kris Barnhoorn <kr...@biassweb.be>.
Because my production environment is still in JSP 1.2.
And it looks like it will be for some time.
In other words I still have to work with tomcat 4.1 but I'm trying to
make as much code possible ready for the upgrade to tomcat 5.
Kris.
-----Oorspronkelijk bericht-----
Van: Craig McClanahan [mailto:craigmcc@gmail.com]
Verzonden: donderdag 29 juli 2004 18:25
Aan: Struts Users Mailing List
Onderwerp: Re: bean:define vs c:set
You are correct that <c:set> does not create a scripting variable, so
you can't use the specified identifier in a scriptlet. The question,
though, is why are you still using a scriptlet expression? Why not
use an EL expression instead?
<pg:pager maxPageItems="${pageItems}"/>
or, to avoid needing to do the <c:set> in the first place:
<pg:pager maxPageItems="${optionsForm.pagItems}"/>
The appropriate conversions will happen for you automatically.
Craig
On Thu, 29 Jul 2004 17:24:35 +0200, Kris Barnhoorn <kr...@biassweb.be>
wrote:
> Hi,
>
> First of all I'd like to thank the contributors of this mailinglist.
I'm
> using struts for over 1.5 years now and i always found answers in
> archives.
>
> In this mailinglist and in the contrib/el there is often suggested
that
> the best way to prepare for smooth transition to JSP 2.0 is to use el
> tags now and once the application runs on a container that supports
JSP
> 2.0 just change the links to the tags in web.xml.
>
> Well found an inconvenience in the fact that the define tag was not
> ported.
>
> I have a value in a request variable that specifies who many page
items
> should be displayed on the page.
> But because the pager tag hasn't el capabilities i had to use the
define
> tag like:
>
> <bean:define id="pageItems" name="optionsForm" property="pageItems"
> type="java.lang.Integer"/>
>
> <pg:pager
> maxPageItems="<%=pageItems.intValue()%>">
>
> //items
> </pg:pager>
>
> In the el way it should be like:
>
> <c:set var="pageItems" value="${optionsForm.pageItems}"/>
>
> <pg:pager
> maxPageItems="<%=pageItems.intValue()%>">
>
> //items
> </pg:pager>
>
> --> but the var pageItems can't be use in scriptlet (not in c or c_rt)
>
> So I guess is there a way to work around this without declaring the
> pageItems like this?
>
> <% Integer pageItems =
>
((com.mycompany.foo.struts.OptionsForm)request.getAttribute("optionsForm
> ")).getItems();%>
>
> Thank you
> Kris.
>
> ---------------------------------------------------------------------
> 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
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: bean:define vs c:set
Posted by Craig McClanahan <cr...@gmail.com>.
You are correct that <c:set> does not create a scripting variable, so
you can't use the specified identifier in a scriptlet. The question,
though, is why are you still using a scriptlet expression? Why not
use an EL expression instead?
<pg:pager maxPageItems="${pageItems}"/>
or, to avoid needing to do the <c:set> in the first place:
<pg:pager maxPageItems="${optionsForm.pagItems}"/>
The appropriate conversions will happen for you automatically.
Craig
On Thu, 29 Jul 2004 17:24:35 +0200, Kris Barnhoorn <kr...@biassweb.be> wrote:
> Hi,
>
> First of all I'd like to thank the contributors of this mailinglist. I'm
> using struts for over 1.5 years now and i always found answers in
> archives.
>
> In this mailinglist and in the contrib/el there is often suggested that
> the best way to prepare for smooth transition to JSP 2.0 is to use el
> tags now and once the application runs on a container that supports JSP
> 2.0 just change the links to the tags in web.xml.
>
> Well found an inconvenience in the fact that the define tag was not
> ported.
>
> I have a value in a request variable that specifies who many page items
> should be displayed on the page.
> But because the pager tag hasn't el capabilities i had to use the define
> tag like:
>
> <bean:define id="pageItems" name="optionsForm" property="pageItems"
> type="java.lang.Integer"/>
>
> <pg:pager
> maxPageItems="<%=pageItems.intValue()%>">
>
> //items
> </pg:pager>
>
> In the el way it should be like:
>
> <c:set var="pageItems" value="${optionsForm.pageItems}"/>
>
> <pg:pager
> maxPageItems="<%=pageItems.intValue()%>">
>
> //items
> </pg:pager>
>
> --> but the var pageItems can't be use in scriptlet (not in c or c_rt)
>
> So I guess is there a way to work around this without declaring the
> pageItems like this?
>
> <% Integer pageItems =
> ((com.mycompany.foo.struts.OptionsForm)request.getAttribute("optionsForm
> ")).getItems();%>
>
> Thank you
> Kris.
>
> ---------------------------------------------------------------------
> 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