Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2005

Tip: Looking for answers? Try searching our database.

jsp:useBean - access ArrayList containing beans?

Thread view: 
iliad - 30 Nov 2005 14:37 GMT
- application type: JSR168 portlet
- version: JSP 1.2, Servlets 2.3

i would like to do the following but i cannot access the ArrayList via
the JSP. could anyone help?

1. use the doView()- method to store an ArrayList in the session
=================================================================
doView(){
...
MySimpleBean my1 = new MySimpleBean();
my1.setMessage("test1");
MySimpleBean my2 = new MySimpleBean();
my2.setMessage("test2");
ArrayList mySimpleBeans = new ArrayList();
mySimpleBeans.add(my1);
mySimpleBeans.add(my2);
request.getPortletSession().setAttribute("jens", mySimpleBeans,
PortletSession.PORTLET_SCOPE);
...
}

2. access this bean from the JSP (this does not work)
=================================================================
<%@ page session="true" contentType="text/html"
import="java.util.*,javax.portlet.*,
com.linde.portal.application.domino.pike.navigation.*" %>
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<portlet:defineObjects />

<jsp:useBean id="jens"
    class="com.linde.portal.application.domino.pike.navigation.MySimpleBean"
    scope="session"></jsp:useBean>

<table>
 <c:forEach var="mySimpleBean" items="${jens}">
   <tr>
     <td><c:out value="${mySimpleBean.message}"/></td>
   </tr>
 </c:forEach>
</table>

3. this code works...
=================================================================
...
<%
ArrayList jens2 = null;
try {
    PortletSession mySession = renderRequest.getPortletSession();
    jens2 = (ArrayList) mySession.getAttribute("jens",
PortletSession.PORTLET_SCOPE);}
catch (Exception e){
    e.printStackTrace(System.out);
} %>
<%
if (jens2 != null){
%>
<%= ((MySimpleBean)jens2.get(0)).getMessage() %>
<%} else { %>
<%= "empty" %>
<%} %>
iliad - 30 Nov 2005 18:26 GMT
i looked at it once more and noticed the following which seems to be
related to the problem. i can access the attribute "jens2" in the jsp
but i cannot access the attribute "jens3". there will be an empty
string cerated for "jens3". can you explain me why?

thanks!

Portlet
=================================================================
doView(){...
request.setAttribute("jens2", "REQUEST hello world");
request.getPortletSession().setAttribute("jens3", "SESSION hello
world");
...}

JSP
=================================================================
<jsp:useBean id="jens2" class="java.lang.String"
scope="request"></jsp:useBean>
<jsp:useBean id="jens3" class="java.lang.String"
scope="session"></jsp:useBean>
...


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.