JSTL Core - be my hero

How do I access the Hero[] array located in the BatmanAndRobin class, from my jsp page... PLEASE.
package ping.pong.heros;
public class BatmanAndRobin {
     private final Hero[] herosArray;
     public Hero[] getMyHeros() {
          return herosArray;
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
     <head>
     </head>
     <body>
          <c:set target="${BatmanAndRobin}" property="getMyHeros" value="${Hero}"/>
          <c:forEach var="abc" items="${ping.pong.heros.BatmanAndRobin}">
               <p>
               <c:out value="${abc.getMyHeros}"/>
               </p>
               <p>loop 1</p>
          </c:forEach>     
     </body>
</html>Help would be much appreciated. Asap. Hence the duke dollars.

Well, You've got a few problems..
You're misunderstanding the property attribute. You don't have to supply the "get" portion of the property you are after. The property specified is retrieved by the tag via Reflection and will append the "get" to the property name and upper-case the first letter.
Second, the foreach tag items attribute is refering to the page/session scope bean that contains the collection to iterate over .
Third, you're using the variable created from the forEach incorrectly. The "abc" variable, in this case, is an instance of the Hero class you've made. So inside the forEach out tag you'll want to output properties that are present in the Hero bean.
So to fix up your forEach tag you'd need to A) fix your bean property getter to actually be "getHerosArray" (you don't have to do this...but it's the standard way of doing things), B) instantiate a BatmanAndRobin bean correctly before the forEach tag C) your tag should look like <c:forEach var="abc" items="${batmanAndRobinBean.herosArray}" > and D) your out tag will look like <c:out value="${abc.someProperty}" />
HTH

Similar Messages

  • Getting img tags to work in sub page using jstl core import tag

    Am trying to bring disparate system page reports together under one web app. This means using the jstl core import tag (I dont want to redirect as I want to hide the urls, this web app provides better security than those it calls).
    Use of the import tag works to a degree but any resources (ie. img tags) don't load.
    Have created a much simplified example that demonstrates..
    So heres the jsp...
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <h3>Delivery Performance Report</h3>
    <c:url value="http://localhost/mycontext/subpage.html" var="myUrl"/>
    <c:import url="${myUrl}" />and a simple sub page (note plain html, no jsp, this mimics my project as the other systems are hidden source, non jsp)
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
    <HTML>
    <HEAD>
    <TITLE>sub page</TITLE>
    </HEAD>
    <BODY>
         This is the sub page<br>
         <img src="images/banner_image.jpg" />
    </BODY>
    </HTML>While I dont get any errors what I do get is ..
    Delivery Performance Report
    This is the sub page
    ...but image fails to load.
    If I redirect instead of import it works, but as I said I need to hide the url from the user as security is an issue.
    Any help appreciated, really pulling my hair out with this final stage of something that will make a real difference to us!
    regards,
    G.

    Thanks for the answer but Im afraid thicko here doesnt get it.
    The img src is relative to the sub page, and I have tried it with an absolute address (ie. http://localhost/.....) with the same result.
    If I call the sub page direct (get with browser) the image tag works. Its just if the sub page is imported with the jstl core import tag.
    I've not tried a base tag. The real project always returns pages containing absolute urls... http://ourReportServer/reports?....plenty of params so dont belive relevant, please correct me if Im wrong here though.
    thanks, G.

  • Regarding JSTL Core library

    Hi All,
    When I run the following JSP
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql"%>
    <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
    <%@ page import="java.util.*,com.dpbabu.*"%>
    <html><head><title></title></head>
    <body>
    <c:set var="rowsPerPage" value="10" scope="session"/>
    <c:set var="categories" value="${rows}"/>
    <%int rowNum=categories.size();%>
    <c:set var="a" value="rowNum/rowsPerPage">
    <fmt:formatNumber maxFractionDigit="0"/>
    </c:set>
    </body>
    </html>
    I am getting the following Error: Please solve my Problem. I put all required .jar files in the Application directory.
    org.apache.jasper.JasperException: /PageView.jsp(9,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
         org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:941)
         org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:696)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
         org.apache.jasper.compiler.Validator.validate(Validator.java:1475)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         com.dpbabu.Search.doPost(Search.java:57)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    What is the Actual problem? is there any syntax error?
    Please the correct the syntax if wrong.
    Thanks in avance.
    Prasad.

    This is the standard error message you see when you use JSTL1.0 with a JSP2.0 container like Tomcat 5.
    With Tomcat 5 you should be using JSTL1.1
    For JSTL1.1 you need to use the following import:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    (note the subtle addition of the "jsp" into the url.)
    Also make sure your web.xml file declares itself as being version 2.4
    http://forum.java.sun.com/thread.jspa?threadID=629437&tstart=0

  • Can't find JSTL/core.  Why?

    I'm getting this error:
    org.apache.jasper.JasperException: /WEB-INF/jsp/select_season.jsp(6,0) The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this applicationfor this code:
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>I've never seen an error for this before. What could be wrong? Thanks.
    Ken

    jstl.jar is in the WEB-INF/lib directory, but not standard.jar. WHere does that come from? My tomcat version is 5.0.24 and I built the war with maven. The project.xml points to the jstl jar, version 1.1.2. Thanks.
    Ken

  • How to call java class in jstl core

    Hi,
    Can any one guide me how to call a java method using jstl core library

    Read on about EL functions.

  • JDeveloper 10.1.3.0.4 and JSTL Core 1.1

    I am attempting to use JSTL Core 1.1 with the new version of JDeveloper. I can reference the URI for JSTL 1.0 just fine but my web page cannot seem to find JSTL 1.1. I get an error of Error(2): "http://java.sun.com/jsp/jstl/core" is not a registered TLD namespace when I try to comple and an error of Fix install JSP Tag Library failed with exception: java.lang.reflect.InvocationTargetException when I try to do a Install JSP Tag library command. The manage libraries tab shows everything in the correct place. Any ideas?

    This was imported from an old Java 1.4 project, but I wished to upgrade it to use JSTL 1.1. Apparently if you import an old project there is no way to switch it to use JSP 2.0 (or at least I could not find one). As such now I have to recreate all of my old projects from scratch (create the project and then import all the source code) to be able to use JSP 2.0 features.

  • Deployment error - Missing class: javax.servlet.jsp.jstl.core.Config

    Hi,
    We are using JDeveloper 10.1.3.0.4(SU5) on windows for development of ADF application. We need to deploy the developed application onto Oracle Application Server 10g (10.1.3) which is running on Solaris. We are using BC4J, WAR and EAR deployment profiles in jdeveloper to create the .war and .ear files.
    If I deploy the generated ear on a standalone OC4J server install on my windows PC, it works fine.
    Now when I deploy the generated .ear file onto the Oracle Application Server 10.1.3 through Application Server Control interface and then try to access the jspx pages under our application we are getting following error:
    oracle.classloader.util.AnnotatedNoClassDefFoundError:      Missing class: javax.servlet.jsp.jstl.core.Config     Dependent class: com.sun.faces.application.ViewHandlerImpl     Loader: accaweb.web.accaweb:0.0.0     Code-Source: /oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/lib/jsf-impl.jar     Configuration: WEB-INF/lib/ directory in /oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/libThe missing class is available from the following locations:     1. Code-Source: /oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar (from WEB-INF/lib/ directory in /oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib)      This code-source is available in loader default.web.defaultWebApp:0.0.0.      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2051) [oracle/app/oracle/product/10gas3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@1482257]
    I have confirmed that the .war file inside the .ear file does contain the jstl.jar file under WEB-INF/lib folder. And the jar file does contain the class 'javax.servlet.jsp.jstl.core.Config'
    As a workaround, I found that if I copy the jstl.jar file from default-web-app to my application web-inf/lib folder, things start to work fine. ie copy from: '/oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar'
    to: '/oracle/app/oracle/product/10gas3/j2ee/home/applications/accaweb/accaweb/WEB-INF/lib/'
    – or –
    Another workaround is to add the '/oracle/app/oracle/product/10gas3/j2ee/home/default-web-app/WEB-INF/lib/jstl.jar' file in the classpath for my web application through Application Server Control setting page.
    Now both of these workaround needs us to perform additional post deployment steps which should really not be required since the jar files is included in the project.
    Has anyone faced this issue? Any pointers in this respect will be a great help.
    regards - rutwik

    Surprise Surprise !
    I just tried deploying the file via uploading it from the Application Server Control UI and it worked fine.
    Till now, I was ftp'ing the ear file from my PC to the server on which Oracle AS is running and was telling Application Server Control to pick form that uploaded location.
    I am still not clear on why it works with HTTP upload and not via the FTP upload?
    cheers - rutwik

  • ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus

    In JSF2, writing facelets I tried to use <ui:repeat> tag instead of <c:forEach> - JSTL tag.
    I get -> java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTagStatus
    Here is my facelet snippet ...
    <ui:repeat value="#{historyCenterManagedBean.purchases}" var="order" >
             <tr>
                 <td>
                    #{order.totalPriceBeforeDiscounts}:
                 </td>
                 <td>
                    #{order.person.firstname}
                  </td>           
             </tr>
        </ui:repeat>I am not sure why am I getting it. Any help is appreciated.

    Hmm, Thanks Ryan. I am still confused.
    I am not clearly understanding why would c:forEach fail? And this is happening after the nightly build jar of 20091216
    for example this is we have:
    <c:forEach var="partner" items="#{contentPartnersManagedBean.allAuthorizedContentPartners}" >
        <tr>
              <td><a href="#{contextPathManagedBean.contextPath}/about_us/providers_detail.jsf?pID=${partner.partnerId}"
                     class="# {portalSkinManagedBean.contentPortletSkin.normalTextStyle}">${partner.partnerName}
                     </a>
              </td>
       </tr>
    </c:forEach>This is the exception:
    javax.servlet.ServletException: javax/servlet/jsp/jstl/core/LoopTagStatus
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.legaledcenter.util.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:250)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.jscape.framework.galileo.support.upload.UploadFilter.doFilter(UploadFilter.java:71)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: javax.faces.view.facelets.FaceletException: javax/servlet/jsp/jstl/core/LoopTagStatus
         at com.sun.faces.facelets.tag.AbstractTagLibrary$UserComponentHandlerFactory.createHandler(AbstractTagLibrary.java:303)
         at com.sun.faces.facelets.tag.AbstractTagLibrary.createTagHandler(AbstractTagLibrary.java:672)
         at com.sun.faces.facelets.tag.CompositeTagLibrary.createTagHandler(CompositeTagLibrary.java:177)
         at com.sun.faces.facelets.compiler.TagUnit.createFaceletHandler(TagUnit.java:113)
         at com.sun.faces.facelets.compiler.CompilationUnit.getNextFaceletHandler(CompilationUnit.java:108)Thanks for responding.

  • JSTL javax.servlet.jsp.jstl.core.Config strange lookup

    Hi everyone !
    Could someone explain me this code in the class javax.servlet.jsp.jstl.core.Config :
    public static Object get(PageContext pc, String name, int scope) {
    switch (scope) {
         case PageContext.PAGE_SCOPE:
         return pc.getAttribute(name + PAGE_SCOPE_SUFFIX, scope);
         case PageContext.REQUEST_SCOPE:
         return pc.getAttribute(name + REQUEST_SCOPE_SUFFIX, scope);
         case PageContext.SESSION_SCOPE:
         return get(pc.getSession(), name);
         case PageContext.APPLICATION_SCOPE:
         return pc.getAttribute(name + APPLICATION_SCOPE_SUFFIX, scope);
         default:
         throw new IllegalArgumentException("unknown scope");
    Why adding a suffix when calling PageContext.getAttribute(String, int) ?
    This could lead to potential problems... For example, in my web application I want to share a single ResourceBundle for each JSP page and I would like to use <fmt:message/> tag to resolve my messages.
    For this purpose I added a LocalizationContext in my servlet context attribute in its init method:
    ResourceBundle bundle = ....
    LocalizationContext context = new LocalizationContext(bundle);
    servletContext.setAttribute(Config.FMT_LOCALIZATION_CONTEXT, context);
    Thus, the <fmt:message/> will be able to resolve the messages from this LocalizationContext...
    Unfortunately, this will never happen because the implementation of this tag call somewhere Config.find(PageContext, String) that will call the Config.get(PageContext, String, int) method....
    A quick fix would be to replace the name of the servlet context attribute :
    servletContext.setAttribute(Config.FMT_LOCALIZATION_CONTEXT + ".application", context);
    Could someone tell me if it is a bug ? A bug of the Message tag implementation ? A bug in JSTL code ? Or am I doing all wrong ?
    Note : I'am using a servlet 2.4/JSP 2.0 compatible application with the jstl 1.2 core library and the jakarta standard 1.1.2 implementation library. I'am using Jetty to test my application with Jasper as the JSP compiler...

    This is an internal decision made by JSTL as to how it stores its configuration values.
    The reason they have given here for the suffixes being added is to treat the four scopes as different namespaces, so that there can be no confusion between them.
    I'd say your mistake is trying to set this value into the attribute space yourself rather than using one of the defined interfaces for JSTL to do it - in web.xml, or using the Config class.
    I guess that would make your code
    Config.set(servletContext, Config.FMT_LOCALIZATION_CONTEXT, context); Using their interface for setting this attribute adds the required suffix automatically.
    Cheers,
    evnafets

  • JSTL/CORE

    I'm trying to use the jstl/core in a JSP. When I try to access the JSP, I get a 'Unable to open taglibrary http://java.sun.com/jstl.core" Any idea why?

    Here is the code. Very Simple.
    <%@ page contentType="text/html" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <html>
    <head>
    <title>JSP is Easy</title>
    </head>
    <body bgcolor="white">
    <h1>JSP is as easy as ...</h1>
    <%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
    1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
    </body>
    </html>
    I am learning JSP's on my own so I am a complete rookie at this. (I hate the term newbie).
    My server is an IBM iSeries (AS/400). I'm not sure where to find the version of Tomcat.

  • JSTL core tags not working inside of a jsp:include?

    I have declared the core JSTL tag and have a jsp include tag that calls another jsp page. I want to be able to execute a c:if statement inside the included file, but the c:if statement does not execute and is read back to me within the html. This is a frustrating problem because the EL returns a true or false based on the param I sent, but the c:if does not run.
    Is there a way to fix this, or is this something that I can't change?
    Note: I have found a workaround by using the include directive. I would rather use the jsp:include action, but unless this problem gets solved I will be sticking with the directive.
    Thanks
    Message was edited by:
    nberveiler

    You need to have the Core taglib declared on the page that you are including with jsp:include.
    There is a subtle difference between the include directive <%@ include %> and <jsp:include>
    The latter happens at runtime, and includes the result of running the included page.
    Therefore any page included with <jsp:include> needs to be completely standalone, and declare all of its own taglibraries that it uses. It can't inherit them from the "including" jsp.
    The include directive works, because it pastes in the contents of the included file at compile time - effectively making one big JSP file.
    Cheers,
    evnafets

  • JDev gives error when using JSTL Core

    When following structure gives the mentioned errors on both the "if" tag and the "font" tag.
    <logic:notEmpty ...>
    <logic:iterate ...>
    <c:if ...>
    <font ...> <bean:write .../></font>
    </c:if>
    </logic:iterate>
    </logic:notEmpty>
    errors are "field apache not found in class java.lang.Object" and " ; expected" which flag the opening "<" for both the <c:if and the <bean:write
    It works just fine if I make the changes to the .jsp on the target server. This is a component of a struts-tiles web page.
    Any help would be greatly appreciated.
    Thanks.
    Can anyone add any insight?

    Hi,
    in which context do you use this, plain JSP or JSF ? If JSP, can you try without <logic:notEmpty ...> as this is not a standard JSTL element?
    Frank

  • JSTL Core - How to test for null?

    How do I test an attribute for null using JSLT's if statement? The below code does not work (the JSTL if statement does not return true). The scriptlet however does work and displays the statement.
    - Chris
    index.jsp
    <%@ taglib uri="c.tld" prefix="c"%>
    <%@ taglib uri="fmt.tld" prefix="fmt"%>
    <%@page import="java.util.*"%>
    <%
       request.setAttribute("null", null);
    %>
    <html>
    <head>
      <title>JSTL Test Page</title>
    </head>
    <body>
    <c:if test="${null}==null">
    The value was null (JSTL)
    </c:if>
    <%
      if (request.getAttribute("null")==null) out.print("The value was null (Scriptlet)");
    %>
    </body>
    </html>
    <%out.flush();%>

    Well, I figured out. If anyone is interested, here is the code:
    <c:if test="${empty varName}">
      Its null
    </c:if>

  • JSTL core tag error in Weblogic Poral 9.2

    C:IF Tag Expressions are not recognized in weblogic portal 9.2, getting compile time errors (pls find the details below). But we have expressions for C:FOREACH those are working fine. I am just wondering any one using C:IF with expressions in weblogic portal 9.2 successfully!
    I appreciate your response to this post
    Thanks for looking at this posting !
    <Sep 20, 2006 3:57:24 PM EDT> <Error> <Sep 20, 2006 3:57:24 PM EDT> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@6e696d - appName: 'CTagServerTest', name: 'CTagServerTestWebAPP', context-path: '/CTagServerTestWebAPP'] Root cause of ServletException.
    weblogic.servlet.jsp.CompilationException: Failed to compile JSP /index.jsp
    index.jsp:13:24: Illegal token.
    <c:if test="${1=1}"> 1=1</c:if>
    ^

    Hello User,
    You can find the application under below path
    Domain_name - Expand "Environment" and Select " Deployments " - here your application will show which are deployed in this domain.
    Please refer -http://docs.oracle.com/cd/E13222_01/wls/docs100/intro/console.html
    Regards
    Laksh

  • Help needed to run JSTL 1.1 in Tomcat 6.0.16

    Hi All,Help needed to run JSTL 1.1 in Tomcat 6.0.16. I am trying to run the example given in http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html The example tries to connect to MySQL database from JSP using JSTL and JNDI Datasource.I am running the example using Eclipse 3.4.2 using Sysdeo plugin to start and stop Tomcat server from Eclipse IDE.
    My web.xml file has <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    </web-app>
    and test.jsp has proper taglib directives
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    I have placed the jstl.jar and standard.jarof the jakarta-taglibs-standard-1.1.2.zip under E:\Deepa\workspace\DBTest\WebContent\WEB-INF\lib directory also placedcontext.xml file under E:\Deepa\workspace\DBTest\WebContent\META-INF and the content of context.xml is as below
    <Context path="/DBTest" docBase="DBTest"
    debug="5" reloadable="true" crossContext="true">
    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000"
    username="deepa" password="mysql" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
    </Context>
    Now while running the example, Eclipse creates one DBTest.xml file under C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost
    which has the following line:
    <Context path="/DBTest" reloadable="true" docBase="E:\Deepa\workspace\DBTest" workDir="E:\Deepa\workspace\DBTest\work" />
    I am getting the following error when running http://localhost/DBTest/WebContent/test.jsp
    in Browser:
    <HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/sql cannot be resolved in either web.xml or the jar files deployed with this application
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
    org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:431)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:494)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1444)
    org.apache.jasper.compiler.Parser.parse(Parser.java:138)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    In the Tomcat Server console, I am getting the following error:
    INFO: Server startup in 7295 ms
    May 20, 2009 6:36:48 AM org.apache.jasper.compiler.TldLocationsCache processWebDotXml
    WARNING: Internal Error: File /WEB-INF/web.xml not found
    May 20, 2009 6:36:48 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/sql cannot be resolved in either web.xml or the jar files deployed with this application
    what is the problem with my code?
    When running the same example, by creating a local server in Eclipse(creating new Server connection pointing to same Tomcat 6.0 installation) it runs fine without any error.

    Hi evnafets,
    Wow, very helpful information, great insight into working of Eclipse. Thanks a lot.
    I have one more question. I have a context.xml file under {color:#0000ff}E:\Deepa\workspace\DBTest\WebContent\META-INF{color} folder and that has the Resource element to connect to MySQL database:
    {code{color:#000000}}{color}<Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true">
    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="deepa" password="mysql" driverClassName="com.mysql.jdbc.Driver"
    {color:#0000ff}url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>{color}
    {color:#0000ff}</Context>{color}As usual when running application in local Tomcat server of Eclipse, this data source works fine. But when I run the application on Tomcat, by starting Sysdeo plugin from Eclipse, the DBTest.xml file created in C:\Tomcat 6.0\conf\Catalina\localhost has the context entry as<Context path="/DBTest" reloadable="true" docBase="E:\Deepa\workspace\DBTest\WebContent" workDir="E:\Deepa\workspace\DBTest\work">
    </Context>The<Resource> element I have specified in the context.xml of \WebContent\META-INF folder is not taken into account by Tomcat and it gives the following error:May 21, 2009 5:20:04 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException_: Cannot create JDBC driver of class '' for connect URL 'null'"
    _at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(_QueryTagSupport.java:276_)
    at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(_QueryTagSupport.java:159_)
    at org.apache.jsp.test_jsp._jspx_meth_sql_005fquery_005f0(_test_jsp.java:113_)
    at org.apache.jsp.test_jsp._jspService(_test_jsp.java:66_)
    at org.apache.jasper.runtime.HttpJspBase.service(_HttpJspBase.java:70_)
    at javax.servlet.http.HttpServlet.service(_HttpServlet.java:717_)
    at org.apache.jasper.servlet.JspServletWrapper.service(_JspServletWrapper.java:374_)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(_JspServlet.java:342_)
    at org.apache.jasper.servlet.JspServlet.service(_JspServlet.java:267_)
    at javax.servlet.http.HttpServlet.service(_HttpServlet.java:717_)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(_ApplicationFilterChain.java:290_)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(_ApplicationFilterChain.java:206_)
    at org.apache.catalina.core.StandardWrapperValve.invoke(_StandardWrapperValve.java:233_)
    at org.apache.catalina.core.StandardContextValve.invoke(_StandardContextValve.java:191_)
    at org.apache.catalina.core.StandardHostValve.invoke(_StandardHostValve.java:128_)
    at org.apache.catalina.valves.ErrorReportValve.invoke(_ErrorReportValve.java:102_)
    at org.apache.catalina.core.StandardEngineValve.invoke(_StandardEngineValve.java:109_)
    at org.apache.catalina.connector.CoyoteAdapter.service(_CoyoteAdapter.java:286_)
    at org.apache.coyote.http11.Http11Processor.process(_Http11Processor.java:845_)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(_Http11Protocol.java:583_)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(_JIoEndpoint.java:447_)
    at java.lang.Thread.run(_Thread.java:619_)
    {code}
    So to overcome this error I had to place the <Resource> element in DBTest.xml under C:\Tomcat 6.0\conf\Catalina\localhost {color:#000000}and then it works fine. {color}{color:#ff0000}*Why is the context.xml file in META-INF not considered by Tomcat server using Sysdeo Plugin?*
    *Thanks,*
    *Deepa*{color}
    {color}
    Edited by: Deepa76 on May 26, 2009 9:32 PM

Maybe you are looking for