OWASP / OWASP/SecurityShepherd
Modernize JSTL taglib URIs to jakarta.tags.* (post-jakarta migration)
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 file — src/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.jspuses thejakarta.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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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