Modernize JSTL taglib URIs to jakarta.tags.* (post-jakarta migration)
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- java
- Domain
- internationalization, localization, web-dev
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.
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.
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 515
- Avg merge
- 3h 46m
- Merged PRs (30d)
- 1
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.
More from OWASP/SecurityShepherd
-
Enhancement Help Wanted Platform
OWASP/SecurityShepherd#914 · 4 comments · 1 assignee ·
-
Levels Mobile
OWASP/SecurityShepherd#896 · 1 assignee ·
-
Levels
OWASP/SecurityShepherd#895 · 1 assignee ·
-
java Test Automation
Difficulty 4/5 3-5 days Newbie friendliness 55/100
OWASP/SecurityShepherd#879 ·
-
Enhancement java Test Automation
Difficulty 5/5 Over a week Newbie friendliness 42/100
OWASP/SecurityShepherd#876 ·
All issues in OWASP/SecurityShepherd
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100