SUCCESS! I figured out what was going wrong with my code. Whew, what a tangled mess.
I have a CustomRequestProcessor that initializes variables for users coming to the site and it was mucking up because part of my query includes values that come from that initialization. I had thought I had checked for this, but I was also getting an error that didn't actually report itself because I check the users cookies to see if they had cached their login for me. Anyway, the problem is all in my own code and nothing funky with Struts/Tiles afterall. Special Thanks to Antonio!! ----- Original Message ---- From: Ryan Henson <[EMAIL PROTECTED]> To: Struts Users Mailing List <user@struts.apache.org> Sent: Thursday, July 10, 2008 1:58:13 PM Subject: Re: Struts-Tiles - Missing Content I put in the text as you suggested and it did indeed show the text from the body. So now the issue has moved to being that the data variable is not being found. Alright, that helped me find some more issues but we're not quite there yet. The results from the body come back with ONLY "Hello from the body". The logic beyond that should return either the data or the text "I do not see your data", but NEITHER is returned. I do not see any errors in the console to help me with this either. The logic tag simply does not do its job. Ideas Antonio? Thanks for your help btw, I really do appreciate it. Excerpt from ReportAction ________________________________ public ActionForward getCamperScheduleReport(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.info("I'm starting my report"); DynaValidatorActionForm query = (DynaValidatorActionForm) form; QueryService service = new QueryService(); ReportService service2 = new ReportService(); Camp camp = (Camp) request.getSession().getAttribute("currentCamp"); int currentCampID = camp.getCampID(); String[] camperIDs; Report report = (Report) request.getAttribute("report"); if (query.getString("selectedIDs").indexOf(",") > 0) { camperIDs = query.getString("selectedIDs").split(","); } else { camperIDs = new String[] { query.getString("selectedIDs") }; } logger.info("I have the camper IDs which the first is: " + camperIDs[0]); report.setSelectedIDs(query.getString("selectedIDs")); request.setAttribute("report", report); request.setAttribute("campers", service.getCampers(currentCampID)); request.setAttribute("periods", service.getPeriodList()); if (camperIDs[0].length() > 0) { request.setAttribute("data", service2.getCamperScheduleReport( camperIDs, currentCampID)); logger.info("I've set the data"); } logger.info("All done what's next?"); if (query.getString("print").equals("true")) { return mapping.findForward("camper.print"); } else { return mapping.findForward("camper.view"); } } ________________________________ Updated tools.report.camper.body.jsp ________________________________ <%@ taglib uri="/tags/struts-logic" prefix="logic"%> <%@ taglib uri="/tags/struts-html" prefix="html"%> <%@ taglib uri="/tags/struts-bean" prefix="bean"%> <%@ taglib uri="/tags/jstl/core" prefix="c"%> Hello from the body <logic:notPresent name="data"> I do not see your data </logic:notPresent> <logic:present name="data"> <logic:iterate name="data" id="person" indexId="num"> <logic:notEqual name="num" value="0"> <c:if test="${num % 3 == 0}"> <p class="pageBreak" /> </c:if> </logic:notEqual> <h3>${person.firstName} ${person.middleInitial} ${person.lastName}</h3> <table class="sorted_list" cellpadding="2" cellspacing="0" width="100%"> <tr> <td width="100"> <table> <tr> <th>Age:</th> <td>${person.age}</td> </tr> </table> </td> <td width="100"> <table> <tr> <th>Rank:</th> <td>${person.rank}</td> </tr> </table> </td> <td width="100"> <table> <tr> <th>Troop:</th> <td>${person.troopName}</td> </tr> </table> </td> </tr> </table> <logic:greaterThan name="person" property="classCount" value="0"> <table class="sorted_list" cellpadding="2" cellspacing="0" width="100%"> <tr> <th>Period</th> <th>ClassName</th> <th>Instructor</th> <th>Location</th> <th>Area</th> <th>Special Requirements</th> </tr> <logic:iterate name="periods" id="period"> <tr> <td width="30">${period.periodName}</td> <logic:iterate name="person" property="enrollment" id="course"> <logic:equal name="course" property="periodID" value="${period.periodID}"> <td>${course.className}</td> <td>${course.instructorFirstName} ${course.instructorLastName}</td> <td>${course.locationName}</td> <td>${course.areaName}</td> <td>${course.specialRequirements}</td> </logic:equal> </logic:iterate> </tr> </logic:iterate> </table> </logic:greaterThan> <logic:equal name="person" property="classCount" value="0"> The camper is not enrolled in any classes </logic:equal> </logic:iterate> </logic:present> ________________________________ ----- Original Message ---- From: Antonio Petrelli <[EMAIL PROTECTED]> To: Struts Users Mailing List <user@struts.apache.org> Sent: Thursday, July 10, 2008 10:34:31 AM Subject: Re: Struts-Tiles - Missing Content 2008/7/10 Ryan Henson <[EMAIL PROTECTED]>: > I posted the resulting HTML code at the bottom of that last email. Whoops! Sorry I did not see it. > It would appear from my side that the <tiles:insert attribute="body" /> is > not executing properly as <tiles:getAsString name="title" /> does actually > produce the correct text. Now I see it, that's strange. I see that in your body JSP page there is a <logic:present> tag surrounding everything. Can you try putting a sample text before this tag to see if, at least, the page is called? Antonio --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]