can not find the tag library descriptor for http java sun com jsp jstl core with code examples

When working with Java Server Pages, it is common to use JSTL (JavaServer Pages Standard Tag Library) to simplify the creation of dynamic web pages. However, at times you may come across the error “Can not find the tag library descriptor for”. This error message occurs when you’ve failed to include the correct JSTL library into your JSP file or if the library has not been properly configured.

This error message is often frustrating, especially when you’re trying to meet a deadline. Luckily, the solution is simple. There are a few steps to take when troubleshooting this error.

  1. Check the JSTL version

The root of the problem may lie in the JSTL version that’s being used. Ensure that you’re using the correct JSTL version based on the version of your web server. This error message may occur when you’re using a JSTL version that does not match the file you’re working on.

  1. Check the location of the JSTL Library

Ensure that you’ve placed the JSTL library in the correct location in your server. The library should be placed in the /WEB-INF/lib directory of your web application. In addition, ensure that the jar file for JSTL has the correct name.

  1. Check your JSP code

Check your JSP code to ensure that you’ve included all the necessary tags. An incomplete or incorrect tag may lead to this error message. Ensure that you’ve included the following tag at the top of your JSP file.

<%@ taglib uri="" prefix="c"%>

  1. Add the correct libraries to your build path

Ensure that the necessary libraries have been added to your build path. This is often a common mistake, and it can be easily resolved. Include the following libraries: jstl-api.jar and jstl-impl.jar.

Code Examples

Here are some examples of how to integrate JSTL into your JSP file.

  1. Using JSTL forEach Loop

The below code demonstrates how to loop through a list using JSTL.

<c:forEach items="${myList}" var="item">

  1. Using JSTL If-Else Condition

Below is an example of how to use the JSTL to create an if-else condition.

<c:if test="${balance < 50}">

Account balance is low

<%@ taglib uri="" prefix="c" %>

In addition, you need to install the JSTL libraries in your classpath. JSTL has two libraries: jstl-api.jar and jstl-impl.jar. These two files are required to be included in your /WEB-INF/lib directory. Note that you need to ensure that the version of JSTL you are using matches the version of the application server that you are running in your development environment.

Once you include both the taglib directive and the necessary JSTL libraries, you can start using JSTL tags.

One of the most common tags of JSTL is <c:forEach> tag that is used for iterating over a collection. For example, the following code snippet shows how to iterate over a list of items:

<c:forEach items="${items}" var="item">

The above JSTL code will iterate over a list of items and set the current item in a variable named “item”. Then, the body of the <c:forEach> tag will be evaluated, which simply outputs the current item using the ${item} syntax.

Another commonly used JSTL tag is <c:if>, which is used to execute a block of code if a condition is true. For example, the following code snippet demonstrates how to use the <c:if> tag:

<c:if test="${balance > 100}">
   Your account balance is greater than 100.

In this example, the <c:if> tag will evaluate the expression represented by the test attribute, which in this case is "${balance > 100}". If this expression evaluates to true, the body of the <c:if> tag will be executed.

In summary, learning how to use JSTL is essential for any Java web developer who wants to simplify their JSP code and create dynamic web pages efficiently. By following the steps provided in this article, you can easily avoid common errors when using JSTL in your JSP pages.

Popular questions

  1. What causes the error message "Can not find the tag library descriptor for"?
    This error message occurs when the correct JSTL library is not included in the JSP file or if it has not been properly configured.

  2. How can you troubleshoot the error message?
    You can troubleshoot this error by checking the JSTL version, the location of the JSTL library, and ensuring that you’ve included all the necessary tags in your JSP code.

  3. What is JSTL?
    JSTL stands for JavaServer Pages Standard Tag Library. It is a collection of custom tags that can be used in JSP pages to simplify the creation of dynamic web pages.

  4. What is the syntax to include the JSTL library in a JSP page?
    The following taglib directive should be added at the top of the JSP file:
    <%@ taglib uri="" prefix="c" %>

  5. What are some commonly used JSTL tags?
    <c:forEach> is a commonly used JSTL tag used to iterate over a collection. <c:if> is another commonly used tag used to execute a block of code if a condition is true.



I am a driven and diligent DevOps Engineer with demonstrated proficiency in automation and deployment tools, including Jenkins, Docker, Kubernetes, and Ansible. With over 2 years of experience in DevOps and Platform engineering, I specialize in Cloud computing and building infrastructures for Big-Data/Data-Analytics solutions and Cloud Migrations. I am eager to utilize my technical expertise and interpersonal skills in a demanding role and work environment. Additionally, I firmly believe that knowledge is an endless pursuit.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top