or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

tessl/maven-org-eclipse-jetty--apache-jstl

Apache JSTL dependency aggregation module for Eclipse Jetty web applications

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.eclipse.jetty/apache-jstl@11.0.x

To install, run

npx @tessl/cli install tessl/maven-org-eclipse-jetty--apache-jstl@11.0.0

0

# Apache JSTL Module

1

2

A dependency aggregation module for Eclipse Jetty that bundles Apache JSTL (JavaServer Pages Standard Tag Library) dependencies, enabling JSP tag library functionality in Jetty-based web applications. This module provides a JAR packaging solution for JSTL integration that is compatible with Jetty's modular architecture.

3

4

## Package Information

5

6

- **Package Name**: apache-jstl

7

- **Package Type**: Maven

8

- **Group ID**: org.eclipse.jetty

9

- **Language**: Java

10

- **Installation**: Include in Maven `pom.xml` dependencies

11

12

## Maven Dependency

13

14

```xml

15

<dependency>

16

<groupId>org.eclipse.jetty</groupId>

17

<artifactId>apache-jstl</artifactId>

18

<version>11.0.0</version>

19

</dependency>

20

```

21

22

## Basic Usage

23

24

### Jetty Module Activation

25

26

Enable JSTL support in Jetty by activating the module:

27

28

```bash

29

java -jar jetty-start.jar --module=apache-jstl

30

```

31

32

### JSP Page Integration

33

34

Use JSTL tags in JSP pages by declaring the tag library:

35

36

```jsp

37

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

38

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

39

40

<!-- Example: URL generation with parameters -->

41

<c:url value="/ref.jsp" var="refUrl">

42

<c:param name="id" value="123"/>

43

</c:url>

44

45

<!-- Example: Exception handling -->

46

<c:catch var="catchException">

47

<fmt:parseNumber var="parsedNum" value="invalid_number" />

48

</c:catch>

49

50

<c:if test="${catchException != null}">

51

Error occurred: ${catchException.message}

52

</c:if>

53

```

54

55

## Architecture

56

57

This module follows Jetty's dependency aggregation pattern:

58

59

- **JAR Wrapper**: Packages external JSTL dependencies into a single JAR for Maven compatibility

60

- **Module Integration**: Provides Jetty module descriptor for seamless integration

61

- **Container JAR Pattern**: Configures container include patterns for proper classpath loading

62

- **Test Infrastructure**: Includes validation tests for JSTL functionality

63

64

The module addresses Maven Dependency plugin limitations by providing JAR packaging for what is essentially a dependency collection, enabling Jetty's modular system to properly copy and include JSTL libraries.

65

66

## Capabilities

67

68

### JSTL Core Tag Library

69

70

Provides core JSTL functionality including conditionals, loops, URL manipulation, and exception handling through the `http://java.sun.com/jsp/jstl/core` tag library.

71

72

```java { .api }

73

// JSP Tag Library URI

74

String CORE_TAGLIB_URI = "http://java.sun.com/jsp/jstl/core";

75

76

// Key tags available:

77

// <c:url> - URL generation and encoding

78

// <c:param> - URL parameter addition

79

// <c:catch> - Exception handling

80

// <c:if> - Conditional processing

81

// <c:set> - Variable assignment

82

// <c:out> - Output with escaping

83

```

84

85

[JSTL Core Tags](./jstl-core.md)

86

87

### JSTL Formatting Tag Library

88

89

Provides internationalization and formatting capabilities through the `http://java.sun.com/jsp/jstl/fmt` tag library for number, date, and message formatting.

90

91

```java { .api }

92

// JSP Tag Library URI

93

String FMT_TAGLIB_URI = "http://java.sun.com/jsp/jstl/fmt";

94

95

// Key tags available:

96

// <fmt:parseNumber> - Number parsing with locale support

97

// <fmt:formatNumber> - Number formatting

98

// <fmt:parseDate> - Date parsing

99

// <fmt:formatDate> - Date formatting

100

// <fmt:message> - Internationalized messages

101

```

102

103

[JSTL Formatting](./jstl-formatting.md)

104

105

### Jetty Integration Utilities

106

107

Configuration utilities for integrating JSTL with Jetty WebAppContext, including container include patterns and temporary directory setup.

108

109

```java { .api }

110

public class JspConfig {

111

/**

112

* Initialize WebAppContext for JSP and JSTL processing.

113

*

114

* @param context WebAppContext to configure

115

* @param baseUri Base URI for the web application

116

* @param scratchDir Temporary directory for JSP compilation

117

*/

118

public static void init(WebAppContext context, URI baseUri, File scratchDir);

119

}

120

```

121

122

[Jetty Integration](./jetty-integration.md)

123

124

## Bundled Dependencies

125

126

This module aggregates the following external dependencies:

127

128

- **jakarta.servlet.jsp.jstl-api**: JSTL API specifications

129

- **taglibs-standard**: Apache JSTL implementation (Morpher Jasper taglibs-standard)

130

131

## Types

132

133

```java { .api }

134

// Core Jetty types for configuration

135

class WebAppContext {

136

void setAttribute(String name, Object value);

137

void setWar(String war);

138

void setResourceBase(String resourceBase);

139

}

140

141

// Standard Java types for configuration

142

class URI {

143

String toASCIIString();

144

}

145

146

class File {

147

// Standard file operations

148

}

149

```