This is an automated email from the ASF dual-hosted git repository.
lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/main by this push:
new 15772a744 WW-5444 Add documentation for HTML5 theme (#287)
15772a744 is described below
commit 15772a7443f28efcd8d33b184bba8ee0c75386c4
Author: Lukasz Lenart <[email protected]>
AuthorDate: Sun Dec 14 19:49:32 2025 +0100
WW-5444 Add documentation for HTML5 theme (#287)
- Create new html5-theme.md documentation page
- Add HTML5 theme to themes-and-templates.md list
- Update getting-started/themes.md to include HTML5 theme
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <[email protected]>
---
source/getting-started/themes.md | 10 ++--
source/tag-developers/html5-theme.md | 69 +++++++++++++++++++++++++++
source/tag-developers/themes-and-templates.md | 1 +
3 files changed, 75 insertions(+), 5 deletions(-)
diff --git a/source/getting-started/themes.md b/source/getting-started/themes.md
index a22df7276..6304309ec 100644
--- a/source/getting-started/themes.md
+++ b/source/getting-started/themes.md
@@ -18,7 +18,7 @@ The example code for this tutorial, **themes**, is available
for checkout at [st
When you use a Struts tag such as `s:select` in your web page, the Struts
framework generates HTML that styles
the appearance and controls the layout of the select control. The style and
layout is determined by which Struts theme
-is set for the tag. Struts comes with three built-in themes: `simple`,
`xhtml`, and `css_xhtml`. If you don’t specify
+is set for the tag. Struts comes with four built-in themes: `simple`, `xhtml`,
`css_xhtml`, and `html5`. If you don't specify
a theme, then Struts will use the `xhtml` theme by default.
The [Struts user mailing list](http://struts.apache.org/mail) is an excellent
place to get help. If you are having
@@ -59,10 +59,10 @@ select tag the default `xhtml` theme was used.
## Specifying The Theme Struts Should Use
The Struts tags have a theme attribute you can use to specify which Struts
theme should be used when creating the HTML
-for that tag. The values for the theme attribute are `simple`, `xhtml`,
`css_xhtml`, and `ajax`. To learn more about these themes
-visit [Themes and Templates
Documentation](../tag-developers/themes-and-templates). This tutorial will
review
-the `xhtml`, `css_xhtml`, and the `simple` themes. The `ajax` theme is a
special theme used for ajax operations
-(see [Ajax Theme in the documentation](../tag-developers/ajax-theme)).
+for that tag. The values for the theme attribute are `simple`, `xhtml`,
`css_xhtml`, `html5`, and `ajax`. To learn more
+about these themes visit [Themes and Templates
Documentation](../tag-developers/themes-and-templates). This tutorial will
review the `xhtml`, `css_xhtml`,
+and the `simple` themes. The `html5` theme extends the simple theme with
modern HTML5 output (see [HTML5 Theme in the
documentation](../tag-developers/html5-theme).
+The `ajax` theme is a special theme used for ajax operations (see [Ajax Theme
in the documentation](../tag-developers/ajax-theme)).
You can specify the theme on a per Struts tag basis or you can use one of the
following methods to specify what theme
Struts should use:
diff --git a/source/tag-developers/html5-theme.md
b/source/tag-developers/html5-theme.md
new file mode 100644
index 000000000..896d616f1
--- /dev/null
+++ b/source/tag-developers/html5-theme.md
@@ -0,0 +1,69 @@
+---
+layout: default
+title: Tag Developers Guide
+parent:
+ url: themes-and-templates
+ title: Themes and Templates
+---
+
+# html5 theme
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+The _html5 theme_ extends the [simple theme](simple-theme) and provides modern
HTML5 output.
+
+## Features
+
+- Extends the [simple theme](simple-theme) via `theme.properties`
+- Clean, modern HTML5 markup output
+- [Validation](../core-developers/validation) and error reporting
+
+## Theme Configuration
+
+The HTML5 theme extends the simple theme via `theme.properties`:
+
+{% highlight properties %}
+{% remote_file_content
https://raw.githubusercontent.com/apache/struts/main/core/src/main/resources/template/html5/theme.properties
%}
+{% endhighlight %}
+
+## Using the HTML5 Theme
+
+Set the theme on individual tags:
+
+```jsp
+<s:textfield name="username" theme="html5" />
+```
+
+Or set it for an entire form:
+
+```jsp
+<s:form action="login" theme="html5">
+ <s:textfield name="username" />
+ <s:password name="password" />
+ <s:submit value="Login" />
+</s:form>
+```
+
+Or globally in `struts.xml`:
+
+```xml
+<constant name="struts.ui.theme" value="html5" />
+```
+
+## Available Templates
+
+The HTML5 theme includes templates for all standard Struts UI tags including:
+textfield, textarea, password, checkbox, checkboxlist, radio, select, file,
+hidden, label, combobox, reset, submit, form, and more.
+
+## Text Field Template Example
+
+{% highlight freemarker %}
+{% remote_file_content
https://raw.githubusercontent.com/apache/struts/main/core/src/main/resources/template/html5/text.ftl
%}
+{% endhighlight %}
+
+## Since
+
+Available since Struts 7.2.0
diff --git a/source/tag-developers/themes-and-templates.md
b/source/tag-developers/themes-and-templates.md
index c248a2b44..c58830387 100644
--- a/source/tag-developers/themes-and-templates.md
+++ b/source/tag-developers/themes-and-templates.md
@@ -30,4 +30,5 @@ The notions of "themes" and "templates" are at the core of
the HTML [Struts Tags
|[simple theme](simple-theme)| A minimal theme with no "bells and whistles" |
|[xhtml theme](xhtml-theme)| The default theme that uses common HTML practices
|
|[css_xhtml theme](css-xhtml-theme)| The [xhtml theme](xhtml-theme)
re-implemented using strictly CSS for layout |
+|[html5 theme](html5-theme)| A modern HTML5 theme extending simple theme with
clean HTML5 output |
|[ajax theme](ajax-theme)| A theme based on the [xhtml theme](xhtml-theme)
that provides advanced AJAX features |