Sorry, don't have an answer/solution for you, but I am left me wondering what was the result of the action that ran? The tiles stuff is done at the end, after the Action - so if your users submitted a form then did the Action do its stuff OK and then fail forwarding to your tiles definition? If so what do your struts-config,xml and tiles-defs.xml look like for that forward?
I believe the TilesRequestProcessor sets the component context - is it possible that whatever your users are clicking on is going straight to a jsp and not going through an Action and therefore also not going through the TilesRequestProcessor? I would also go see (if possible) what exactly those users are doing, perhaps they are doing their stuff in a way noone else is - in my experience users at best miss out crucial information and at worst downright lie about what they've done :-) Niall ----- Original Message ----- From: "Janice" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, April 21, 2004 7:03 PM Subject: flaky error: Error - tag.getAsString : component context is not defined > I've got a struts app in production and a couple users get this problem when > submitting a certain form. The error appears to be about tiles, but that > just doesn't seem logical, since why wouldn't everybody be getting the > error? > > Before I post the error message, etc, I should point out that the key to > these users getting this error would seem to be a few fields on the form > that are hidden unless they click on a link to show them. The point being > is that they need to select a company and a contact person for the company. > The company is in a drop-down box and when a company is chosen, I populate > the contact drop-down box with the contacts for the selected company. But > if the contact they want isn't there, they can click on a link that then > allows them to enter the contact's name, phone and email. The contact > fields are conditionally validated upon submit for full name, proper > phone/email. > > Like I say, it works most of the time, but the same 2 or 3 users keep > getting these problems. If they don't use the fields to add a contact, the > form will submit fine. If they do use the extra fields they get the error > as described... > > The error message in the log is: > " > 4/20/04 3:26 PM barts-web: Servlet error > javax.servlet.jsp.JspException: Error - tag.getAsString : component context > is not defined. Check tag syntax > at > org.apache.struts.taglib.tiles.GetAttributeTag.doEndTag(GetAttributeTag.java > :198) > at _jsp._layouts._layoutBase._jspService(_layoutBase.java:66) > at com.orionserver[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) > at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) > at > oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) > at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.j > ava:721) > at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDis > patcher.java:306) > at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java: > 767) > at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].server.http.AJPRequestHandler.run(AJPRequestHandler.java:148) > at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for > J2EE].server.http.AJPRequestHandler.run(AJPRequestHandler.java:72) > at > EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja > va:803) > at java.lang.Thread.run(Thread.java:479) > " > > The error seems to be coming from the getAsString line in the layoutBase.jsp > page: > "<%@ page language="java" %> > <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> > <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %> > <%@ taglib uri="/WEB-INF/tld/struts-tiles.tld" prefix="tiles" %> > > <html:html> > <head> > <title> > <tiles:getAsString name="title"/> > </title> > ... > " > > My main tiles def'n is: > " <definition name=".layout.base" path="/jsp/layouts/layoutBase.jsp"> > <put name="title" value="BARTS"/> > <put name="header" value="/jsp/common/header.jsp"/> > <put name="breadcrumb" value="/jsp/common/breadcrumb.jsp?bc="/> > <put name="errorsAndMessages" > value="/jsp/common/errors_and_messages.jsp"/> > <put name="nav" value="/jsp/common/menu.jsp"/> > <put name="nav_void" value="/jsp/common/void.jsp"/> > <put name="links" value="/jsp/common/links.jsp"/> > <put name="service" value="/jsp/common/service.jsp"/> > <put name="exit" value="/jsp/common/exit.jsp"/> > <put name="footer" value="/jsp/common/footer.jsp"/> > <put name="body" value="/jsp/body/sample.jsp"/> > </definition> > " > > And the def'n in question is (I think): > " > <definition name=".projectForm" extends=".layout.base"> > <put name="title" value="BARTS - Project"/> > <put name="body" value="/jsp/project/project_form.jsp"/> > <put name="nav" value="/jsp/common/menu.jsp?current=project"/> > <put name="breadcrumb" > value="/jsp/common/breadcrumb.jsp?bc=/projectSearch*showForm"/> > </definition> > " > > Could their operating systems have anything to do with this? It was first > observed with users on NT boxes, but it just happened to one on XP. They're > all using IE version 6ish. > > Here's the bit of the .jsp page that shows the extra form fields: > (contactBlock is either "none" or "block" > " > <!-- start of contact subform --> > <tr class="body" bgcolor="<bean:message key="style.proj.colour1"/>"> > <td colspan="3" align="center"> > <table id="contactForm" > style="display:<%=contactBlock%>;" width="90%" border="0" cellspacing="0" > cellpadding="0"> > <tr> > <td colspan="3" > class="body"> </td> > </tr> > <tr class="body" bgcolor="<bean:message > key="style.proj.subformColour"/>"> > <td width="34%"><bean:message > key="person.firstName"/>:</td> > <td width="3%">*</td> > <td width="63%"><html:text > property="clientContactFirstNameText" size="20" maxlength="50" /></td> > </tr> > <tr class="body" bgcolor="<bean:message > key="style.proj.subformColour"/>"> > <td><bean:message > key="person.middleName"/>:</td> > <td></td> > <td><html:text > property="clientContactMiddleNameText" size="20" maxlength="50" /></td> > </tr> > <tr class="body" bgcolor="<bean:message > key="style.proj.subformColour"/>"> > <td><bean:message > key="person.lastName"/>:</td> > <td>*</td> > <td><html:text > property="clientContactLastNameText" size="20" maxlength="50" /></td> > </tr> > <tr class="body" bgcolor="<bean:message > key="style.proj.subformColour"/>"> > <td><bean:message > key="project.clientContactPhone"/>:</td> > <td>*</td> > <td><html:text > property="clientContactPhone" size="15" maxlength="25" /> > <span class="note"><bean:message > key="common.phoneFormat" /></span></td> > </tr> > <tr class="body" bgcolor="<bean:message > key="style.proj.subformColour"/>"> > <td><bean:message > key="project.clientContactEmail"/>:</td> > <td>*</td> > <td><html:text > property="clientContactEmail" size="30" maxlength="50" /></td> > </tr> > <tr> > <td colspan="3" > class="body"> </td> > </tr> > </table> > </td> > </tr> > <!-- end of contact subform --> > " > > If you made it to here, thanks. If you have any ideas, please let me know. > I'm not sure how to go about this, since it has never failed for me here at > home on my development computer (XP). The logs don't tell me anything more > than that stack dump. I googled for the error I'm getting, but other folks > seem to get it when they're trying to implement tiles, not later on. > > TIA, > Janice > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]