Skip to content

TagExtraInfo in Jakarta JSP not working #7

Description

@uqpik

TLD TEI classes are used to create variables for use within JSP code sections.
But after switching to Jakarta package this no longer works. And produces the following errors:

image

The following hotfix works for me:
Within org/eclipse/jst/jsp/core/internal/taglib/TaglibHelper.java

  • Changing ITERATION_QUALIFIER from javax to jakarta
  • private static final String ITERATION_QUALIFIER = "jakarta.servlet.jsp.tagext";
  • copying the jakarta package into org.eclipse.jst.jsp.core_....jar

Activity

  1. changed the title [-]TagExtraInfo in JSP not working[/-] [+]TagExtraInfo in Jakarta JSP not working[/+] on Sep 5, 2024
  2. YSavanier commented on Feb 7, 2026

    @YSavanier

    Hello, I did what you recommend and it indeed work.

    here is a patched version of org.eclipse.jst.jsp.core_1.4.800.v202405130132.jar with the altered TaglibHelper class (I also duplicated the inner classes so they can use the jakarta classes additionnaly to the javax ones.)

    org.eclipse.jst.jsp.core.zip

    I'm sorry I'm not educated enough on eclipse plugin to do a proper patch as I also needed to dump all classes from jakarta.servlet.jsp_3.0.0.v20221203-1659.jar inside the jar in order to make it work.

    If someone know how to properly reference jakarta.servlet.jsp_3.0.0.v20221203-1659.jar so the plugin can run without this trick feel free to do so.

  3. HoffmannTom commented on Feb 8, 2026

    @HoffmannTom

    At least some progress in this issue :)
    The dependencies are listed in the manifest.mf file.
    Currently, it shows:

    Import-Package: javax.servlet.jsp.tagext;version="[2.0.0,3.0.0)",
     org.w3c.dom.css,
     org.w3c.dom.stylesheets,
     org.eclipse.osgi.util,
     org.osgi.service.event,
     org.osgi.service.prefs,
     org.osgi.framework
    

    However, I didn't manage to compile it on windows yet. Some osgi error and it seems it automatically picks the linux environment which fails on Win.

  4. YSavanier commented on Feb 8, 2026

    @YSavanier

    Hi, if you opened the zip you could see that I added the jakarta.servlet.jsp.tagext artefact as an import in the manifest, however this didn't work so it might be something else we have to set somewhere else to tell eclipse it needs to link the jakarta jar in its classpath

  5. HoffmannTom commented on Feb 9, 2026

    @HoffmannTom

    It seems the manifest.mf only declares depencencies and doesn't include or import anything.
    The osgi framework takes care of the dependencies between the plugins.

    The only jakarta examples I found were in test folders like sourceediting\web\tests\org.eclipse.jst.jsp.core.tests\META-INF\MANIFEST.MF:

    Import-Package: org.w3c.dom.css,
     org.w3c.dom.stylesheets,
     javax.servlet,
     javax.servlet.jsp,
     jakarta.servlet,
     jakarta.servlet.jsp
    

    @YSavanier Maybe you can give it a try if you have an environment with a working build process (the module jakarta.servlet.jsp contains the package jakarta.servlet.jsp.tagext)

  6. YSavanier commented on Feb 9, 2026

    @YSavanier

    There is no need of a working build env to test it, what I do is extracting the manifest from the org.eclipse.jst.jsp.core_1.4.800.v202405130132.jar file I posted here and tried to add jakarta reference in it.

    I will try it tomorrow if you can't.

  7. nitind commented on Aug 19, 2026

    @nitind
    Contributor

    Be sure to try this on the current release if you can.

  8. eagle79 commented on Aug 30, 2026

    @eagle79

    I did a quick test with a quick custom taglib, and it does seem to be (finally) fixed in 2026-06R. No JSP warnings and the generated var (myVar) is recognized in scriptlets (yeah, I know... yuck). Probably bears more extensive testing, but it looks good so far!

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions