So I have been stuck for a day or so on this exception:

org.apache.jasper.JasperException: Cannot find bean org.apache.struts.taglib.html.BEAN 
in any scope
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
etc...

caused by:

javax.servlet.ServletException: Cannot find bean org.apache.struts.taglib.html.BEAN in 
any scope
        at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533)
        at 
org.apache.jsp.enter_0002dlocation_jsp._jspService(enter_0002dlocation_jsp.java:132)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)

etc...


I think have determined that it happens when attempting to process this tag:


<% System.out.println ("got here");%>
           <td><html:text property="city" maxlength="50" size= "20"/></td>
<% System.out.println ("got here2");%>

(only the first print statement appears in catalina.out)

I am definately able to find the struts-html taglib (as I am already inside an html:form tag by this point).

I think I really have a situation where html:form can be found but not html:text for the following reasons:

Here is the jasper generated code:
67 out.write("<hr>\n\n");
68 if (_jspx_meth_html_form_0(pageContext))
69 return;
70 out.write("\n ");
71 out.write("<table border=\"0\">\n ");
72 out.write("<tr>\n ");
73 out.write("<td>City:");
74 out.write("</td>\n");
75 System.out.println ("got here");
76 out.write("\n ");
77 out.write("<td>");
78 if (_jspx_meth_html_text_0(pageContext))
79 return;
80 out.write("</td>\n");
81 System.out.println ("got here2");
.... snip .....
127 out.write("</html>\n");
128 } catch (Throwable t) {
129 out = _jspx_out;
130 if (out != null && out.getBufferSize() != 0)
131 out.clearBuffer();
132 if (pageContext != null) pageContext.handlePageException(t);
133 } finally {
134 if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
135 }
.... snip .....
154 private boolean _jspx_meth_html_text_0(javax.servlet.jsp.PageContext pageContext)
155 throws Throwable {
156 JspWriter out = pageContext.getOut();
157 /* ---- html:text ---- */
158 org.apache.struts.taglib.html.TextTag _jspx_th_html_text_0 = (org.apache.struts.taglib.html.TextTag) _jspx_tagPool_html_text_size_property_maxlength.get(org.apache.struts.taglib.html.TextTag.class);
159 _jspx_th_html_text_0.setPageContext(pageContext);
160 _jspx_th_html_text_0.setParent(null);
161 _jspx_th_html_text_0.setProperty("city");
162 _jspx_th_html_text_0.setMaxlength("50");
163 _jspx_th_html_text_0.setSize("20");
164 int _jspx_eval_html_text_0 = _jspx_th_html_text_0.doStartTag();
165 if (_jspx_th_html_text_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
166 return true;
167 _jspx_tagPool_html_text_size_property_maxlength.reuse(_jspx_th_html_text_0);
168 return false;
169 }


So I am willing to suppose that out.write() isn't throwing the exception, which leaves only _jspx_meth_html_text_0(pageContext). Looking into that method, I see 3 candidtates:
_jspx_tagPool_html_text_size_property_maxlength.get(org.apache.struts.taglib.html.TextTag.class);
_jspx_th_html_text_0.doStartTag();
_jspx_th_html_text_0.doEndTag()
_jspx_tagPool_html_text_size_property_maxlength.reuse(_jspx_th_html_text_0);


The question is why does one of these throw a Servlet exception when form doesnt? Though the form tag hasn't closed yet so it could still be the form tag, when I misname the taglibrary in the JSP I get a different error.

I am using Struts 1.1 (downloaded a couple days ago) in Tomcat 4.1.27 with Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28) on a (redhat 9) linux platform. After spending hours tweaking my settings nothing I do seems to effect it and I am begining to suspect a bug, but I find it extremely hard to beleive that there would be a bug relating to html:text since it is one of the most used tags. Can any1 help me out here?

-Gus



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to