Rohit,
just a few ideas:
1) I would recommend to use JSTL tags instead of implementing your own custom tags for loops etc. they work quite well in conjunction with JSR 168 and JSP, and you may use them within Struts WebApps, too (learning effort).
2) A quite easy way to offer your
Java objects in the JSP, if stored in the portlet session (portlet scope), is to put them as an attribute in the render request as well (in your doView etc. method, before including the JSP). This way you can get them as an attribute from the normal implicit object "request" in the JSP, and you do not need renderRequest for that.
Another advantage is that you can access them easily from JSTL tags with its EL-expressions.
3) It is possible to access the render request from within a custom tag class. I am not sure whether I should recommend to do so in your case(see 1 + 2) but you can. See Java Portlet Specification PLT.16.3.2 for details (it is advertised as request attribute with standardized key).
Greetings,
Stefan