Hao Ding wrote:
> Hi,
> 
> I have not got an idea to solve the problem below. Can anybody give me a hand?
> 
> Regards,
> Hao
> 
> 
>>===== Original Message From Tag Libraries Users List 
> 
> <[EMAIL PROTECTED]> =====
> I have a JSP page that initially uses scriptlets, now I am going to transfer
> it using JSTL tags
> 
> The initial code is
> 
> <%@ page import="mm.*" %>
> <jsp:useBean id="cate" scope="session" class="mm.CateBean" />
> <jsp:useBean id="report" scope="page" class="mm.ReportBean" />
> 
> <%
> int idx = report.getId();
> mm.LData ld = cate.getLData(idx);
> %>
> 
> How to translate the Java code into EL using JSTL core library?
> 
> Any help will be very much appreciated.

The first part is easy: The "${report.id}" EL expression corresponds
to the "report.getId()" Java code. But there's no support for calling
methods with arguments in the EL, so you need to change things a
bit to do it all with JSTL and the EL. One way is to change the
CateBean so that it has a getter method that returns an array of
all data instead of (or in addition to) the method that returns
one item given a key, i.e. add this method:

   public LData[] getLData() {...}


You can then replace all of the above with this:

   <jsp:useBean id="cate" scope="session" class="mm.CateBean" />
   <jsp:useBean id="report" scope="page" class="mm.ReportBean" />

   <c:set var="ld" value="${cate[report.id]}" />

The "ld" variable is then available in other EL expressions, and
as a page scope attribute to custom actions etc.

Hans
-- 
Hans Bergsten           [EMAIL PROTECTED]
Gefion Software         http://www.gefionsoftware.com
JavaServer Pages        http://TheJSPBook.com


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

Reply via email to