OWASP / OWASP/SecurityShepherd

Modernize JSTL taglib URIs to jakarta.tags.* (post-jakarta migration)

Open Beginner friendly
#880 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.5k
Forks
515
Avg merge
3h 46m
Merged PRs (30d)
1

Description

Background

As part of the javax.* → jakarta.* migration (#861), the JSTL dependency moves to JSTL 3.0 (org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.1). JSTL 3.0 introduces new canonical taglib URIs (jakarta.tags.core, jakarta.tags.fmt, …) replacing the legacy http://java.sun.com/jsp/jstl/* URIs.

This is not urgent / not a blocker. Verified from the TLDs inside jakarta.servlet.jsp.jstl-3.0.1.jar: the impl declares both the new jakarta.tags.* URIs and the legacy http://java.sun.com/jsp/jstl/* URIs, so the existing JSPs continue to resolve and render correctly. This is purely modernization / future-proofing.

Scope

The legacy URIs are declared in a single filesrc/main/webapp/translation.jsp — which the other JSTL-using JSPs pull in via <%@ include file="translation.jsp" %>. So the change is two lines:

- <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core"%>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+ <%@ taglib prefix="c"   uri="jakarta.tags.core"%>
+ <%@ taglib prefix="fmt" uri="jakarta.tags.fmt"%>

Consumers (inherit via static include, no change needed): index.jsp, login.jsp, register.jsp, setup.jsp, getStarted.jsp, readyToPlay.jsp, blockedMessage.jsp.

Acceptance criteria

  • translation.jsp uses the jakarta.tags.* taglib URIs.
  • Translation rendering (fmt:setLocale / fmt:setBundle / fmt:message) still works — verify a translated page renders in a non-English locale.

Notes

  • Do after the jakarta migration (#861) lands, not as part of the build-config PRs.
  • Relates to the JSP/JSTL translation render path documented in docs/i18n-findings.md.

Refs #861.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/main/webapp/translation.jsp, where the c and fmt taglib declarations are defined for the included JSP pages. Replace the two legacy URIs with jakarta.tags.core and jakarta.tags.fmt, then verify that a translated page renders correctly in a non-English locale using the fmt translation path.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
internationalization, localization, web-dev
Issue type
Refactor
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
88/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.