I have some code in a component where I'm trying to get the list from a request, and it always comes back null. Why is this happening? The other interesting, and probably related, thing, is that when I use a simple " <cq:include script="init.jsp"/>", I get the "Could not find init.jsp" error. When I give an explicit path to init.jsp, (as shown below), it's resolved, but the list always comes back empty. Has anyone seen this??? What's causing this?
// initialize the list
%>
<cq:include script="/libs/wcm/core/components/init/init.jsp"/>
<%
List list = (List)request.getAttribute("list");
if (!list.isEmpty()) {
...
}
Solved! Go to Solution.
Views
Replies
Total Likes
<cq:include script="init.jsp"/> will only work if the file in which you are calling this is at same location else you need to give relative or full absolute path. As you observed when you give an absolute path, you resolved the issue.
next, coming to List
is this any OOTB component you are working on, are you setting attribute name "list" which you are trying to retrieve ?
Views
Replies
Total Likes
<cq:include script="init.jsp"/> will only work if the file in which you are calling this is at same location else you need to give relative or full absolute path. As you observed when you give an absolute path, you resolved the issue.
next, coming to List
is this any OOTB component you are working on, are you setting attribute name "list" which you are trying to retrieve ?
Views
Replies
Total Likes
Here is an older community thread that talks about not finding init.jsp:
Why a list is empty can be a number of reasons. What is suppose to be in the list. Is this a custom component or an out of the box component?
Views
Replies
Total Likes
Scott,
It's code that I'd seen in several other OOTB components, and I copied it verbatim. They never explicitly set the attribute, (e.g. request.setAttribute("list", list);), so I didn't either. I thought the code would work same as it did in the other OOTB components. It seemed that it was automatically assigned a value from the dialog based on the Pages/articles the user had chosen/selected when they configured the OOTB component. It allows the developer to get all of the properties they need from the selected page, (e.g. Iimage, title, name, desc, path), so that they can build a link back to the page and display the title etc..
Views
Replies
Total Likes
Thanks. I'd found that other thread, but it didn't really apply. It's interesting that the OOTB components don't explicitly set any attributes, but are able to have that list populated based on what the user selected in the dialog field. Maybe the OOTB components have resources available to them that I don't have set up for my custom component.
Views
Replies
Total Likes
Hi,
I took a look at OOTB list component, if you see init.jsp, you may notice
%><%@page import="com.day.cq.wcm.foundation.List, com.day.cq.wcm.api.PageFilter" %><%
%><%@include file="/libs/foundation/global.jsp"%><%
List list = new List(slingRequest, new PageFilter());
request.setAttribute("list", list);
piece of code present there, which i suppose you might missed.
Views
Replies
Total Likes
edubey, MANY, Many, many thanks, (and thanks to you too Scott). This one had me spinning my wheels for some time. I know that's to be expected when you're a newb, just learning the technology, but I still can't figure out how the carousel code, (where I'd copied the original snippet), was able to reference the list component's init.jsp, since it's not in the same directory. I just made the unqualified "init.jsp" reference/include, and it worked. I now have all of the meta-data of the page selected by the author so I can display the image, build hrefs/links to the article etc. Thank you so much!
Views
Replies
Total Likes