Skip to main content

codemap-jsp

A JavaServer Pages (.jsp) indexer for CodeMap, distributed as an independent PyPI package. Targets legacy Java web projects that still ship .jsp views.

What it captures

JSP files are HTML containers with embedded Java. The indexer scans five top-level constructs:

JSP construct Captured as
<%@ page import="..." %> extra.jsp_imports on the page symbol
<%@ include file="..." %> extra.jsp_includes on the page symbol
<%! ... %> (declaration block) Java members parsed by tree-sitter-java; methods → method, fields → variable, nested classes → class
<% ... %> (scriptlet) Skipped — scriptlet locals are per-request state, not a stable interface
<form action="..." method="..."/> and <a href="..."> extra.http_client_calls on the page symbol — consumed by the host's http_route bridge to link the page to its server controller

Every JSP file produces one page-level pseudo-class symbol plus zero or more member symbols from any <%! ... %> blocks. The page name is derived from the file basename (UserList.jspUserList).

Why this matters for AI agents on legacy projects

A typical Spring MVC + JSP project has:

src/main/java/com/example/UserController.java
  @PostMapping("/api/users") void create(User u) { ... }

src/main/webapp/WEB-INF/views/users.jsp
  <form action="/api/users" method="POST"> ... </form>

The http_route bridge ships in codemap-core. Once both files are indexed, the bridge sees:

  • the server route (POST, /api/users) exposed by UserController.create
  • the client call (POST, /api/users) advertised by users.jsp

…and adds a calls edge from the page to the controller. AI agents can now answer "what JSP pages submit to this controller?" with a single codemap callers query — no grepping HTML for URLs.

Install

pip install codemap-jsp

tree-sitter-java is a hard dependency (used to parse declaration blocks). No tree-sitter-jsp grammar is needed.

SymbolID encoding

scip-jsp . . . src/main/webapp/views/UserList.jsp/UserList#tag().
└──────┘     └──────────────────────────────────────────────────┘
  scheme         path / page pseudo-class / member

Tests

pip install -e ".[dev]"
pytest

Limits / next steps

  • Scriptlet (<% ... %>) bodies are not indexed for symbol extraction — they would surface per-request locals as noise. A future v0.2.x could optionally extract control-flow shape from scriptlets to support cross-page navigation.
  • JSTL tags (<c:if>, <c:forEach>) and EL expressions (${...}) are not parsed. A codemap-jstl companion plugin could surface declared <c:set var="..."/> variables if there's demand.
  • Tag files (.tag / .tagx) are supported on the same code path as pages but their unique <%@ attribute name="..." %> directives are not yet surfaced as individual symbols.

License

MIT — same as the host project.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codemap_jsp-0.4.10.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codemap_jsp-0.4.10-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file codemap_jsp-0.4.10.tar.gz.

File metadata

  • Download URL: codemap_jsp-0.4.10.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codemap_jsp-0.4.10.tar.gz
Algorithm Hash digest
SHA256 fdc6a25f45e67f594e8ae41a77178cc5c8bf5e15ccbbe01b020d48eaec9cc6a0
MD5 04760e0def2a357cb56052f1ba261eb9
BLAKE2b-256 44f23de78f5cfb54600978a0ad81548b845b040643f9b11546aca48b76376e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for codemap_jsp-0.4.10.tar.gz:

Publisher: publish.yml on qxbyte/codemap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codemap_jsp-0.4.10-py3-none-any.whl.

File metadata

  • Download URL: codemap_jsp-0.4.10-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codemap_jsp-0.4.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3e74ddb12e342a0ba6567c0834ebb89501513f16abd40479a59965cf0a255c9f
MD5 1a42af0b9135de82720bf254f8e832ba
BLAKE2b-256 fb9a3cf65d3cb4199a08c90b1157f8f7f6a4bf405a672c9ae66d22c9a2240ed3

See more details on using hashes here.

Provenance

The following attestation bundles were made for codemap_jsp-0.4.10-py3-none-any.whl:

Publisher: publish.yml on qxbyte/codemap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.10 This release

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page