Hi! My platform is windows xp 32 bit, and right now I'm using Tomcat 7.0.2
I found a strange bug, using dom objects in JSP. Since Tomcat 6 and higher JSP page compiler throws Exception: The method getElementsByTagNameNS(String, String) is undefined for the type Element. How can it be? Method getElementsByTagNameNS must be define and it is define in Xerces Parser (last version), for example. I can use method getElementsByTagName, instead, but problem stay... plenty of code need to rewrite... can you help?
Log is in attachment. Source code of test JPS-page also attached. ________ Ryazantsev Anton
user id: [antonio3] session id: [FD8291B6246A76C44C70B623825C329D] time: 2010.08.24 11:46:24 Exception cause URI: /brok/test.jsp Root cause: n/a Cause: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /test.jsp The method getElementsByTagNameNS(String, String) is undefined for the type Element 29: catch (Exception e) { 30: e.printStackTrace(); 31: } 32: NodeList nl = Message.getDocumentElement().getElementsByTagNameNS("*", "qwerty"); 33: %> 34: </body> 35: </html> Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:443) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at filters.AccessDenied.doFilter(AccessDenied.java:45) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:170) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)
<%@ page import="org.w3c.dom.Document" %> <%@ page import="javax.xml.parsers.DocumentBuilderFactory" %> <%@ page import="javax.xml.parsers.DocumentBuilder" %> <%@ page import="org.xml.sax.InputSource" %> <%@ page import="java.io.StringReader" %> <%@ page import="org.w3c.dom.NodeList" %> <%-- Created by IntelliJ IDEA. User: aryazantsev Date: 24.08.2010 Time: 11:32:31 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Simple jsp page</title></head> <body> <% Document Message = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance (); dbf.setNamespaceAware ( true ); dbf.setValidating ( false ); try { DocumentBuilder db = dbf.newDocumentBuilder (); InputSource is= new InputSource(new StringReader("<a></a>")); Message=db.parse(is); Message.getDocumentElement().normalize(); } catch (Exception e) { e.printStackTrace(); } NodeList nl = Message.getDocumentElement().getElementsByTagNameNS("*", "qwerty"); %> </body> </html>
--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org