Skip to content

Skill/module to migrate JSP pages to Thymeleaf#336

Closed
ammachado wants to merge 1 commit into
snowdrop:mainfrom
ammachado:features/jsp-migration-skill
Closed

Skill/module to migrate JSP pages to Thymeleaf#336
ammachado wants to merge 1 commit into
snowdrop:mainfrom
ammachado:features/jsp-migration-skill

Conversation

@ammachado
Copy link
Copy Markdown

No description provided.

Copilot AI review requested due to automatic review settings May 8, 2026 15:51
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a JSP-to-Thymeleaf intermediate migration module to the Spring Boot → Quarkus skill flow, enabling JSP-based Spring MVC apps to be migrated via Thymeleaf before the existing Thymeleaf → Qute step.

Changes:

  • Documented distinct migration paths (JSP→Thymeleaf→Qute, Thymeleaf→Qute, REST).
  • Introduced a new frontend-jsp module and updated module gating/order to run it before the existing frontend module.
  • Added a Maven execution logging guideline (--no-transfer-progress) to the orchestrator skill.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
.claude/skills/spring-boot-to-quarkus-orchestrator/SKILL.md Adds a Maven execution guideline to keep logs clean.
.claude/skills/migrate-spring-to-quarkus/SKILL.md Updates the overall migration flow with a new JSP path and frontend-jsp module ordering/gates.
.claude/skills/migrate-spring-to-quarkus/modules/frontend-jsp.md New module defining JSP → Thymeleaf migration steps and guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


- [ ] Add `spring-boot-starter-thymeleaf` dependency to `pom.xml`
- [ ] Convert JSP files to Thymeleaf `.html` templates
- [ ] Move templates from `webapp/WEB-INF/jsp/` to `resources/templates/`

## Why Migrate from JSP to Thymeleaf?

JSP is not supported in Quarkus. The migration path is: **JSP → Thymeleaf → Qute**. Thymeleaf is an intermediate step that allows testing the application in Spring Boot before final Quarkus migration. Reference the [Frontend module](@frontend.md) when performing the migration.
| `<c:choose><c:when test="${x}">...<c:otherwise>` | `<div th:if="${x}">...<div th:unless="${x}">` | Conditional switch |
| `<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"/>` | `<span th:text="${#dates.format(date, 'yyyy-MM-dd')}"/>` | Date formatting |
| `<fmt:formatNumber value="${price}" pattern="#,##0.00"/>` | `<span th:text="${#numbers.formatDecimal(price, 1, 2)}"/>` | Number formatting |
| `<c:url value="/path/${id}"/>` | `<a th:href="@{/path/{id}(id=${item.id})}">` | URL with path variable |
- **Java code**: Search for Spring annotations (DI, REST, Data, Security, Scheduling)
- **Configuration**: Read `application.properties`/`application.yml`, check for profiles
- **UI / View layer**: Check for Thymeleaf/JSP templates, static resources, Model+View patterns
- **UI / View layer**: Check for JSP templates in `webapp/WEB-INF/jsp/` or `webapp/WEB-INF/views/`, Thymeleaf templates in `templates/`, static resources, Model+View patterns
@ammachado ammachado force-pushed the features/jsp-migration-skill branch from e953dff to 33da739 Compare May 8, 2026 22:37
@ammachado
Copy link
Copy Markdown
Author

Moving this PR to quarkusio/skills#12

@ammachado ammachado closed this May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants