Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2c1edba
WW-5653 docs: add Bootstrap 5.3.x sample-app migration design
lukaszlenart Jul 17, 2026
075bffb
WW-5653 docs: add Bootstrap 5 migration implementation plan
lukaszlenart Jul 17, 2026
e8bdb3e
WW-5653 build: add Bootstrap 5, Bootstrap Icons, showcase jQuery webjars
lukaszlenart Jul 17, 2026
2c7308c
WW-5653 feat(showcase): serve Bootstrap 5 and jQuery via webjars
lukaszlenart Jul 17, 2026
d7408d8
WW-5653 fix(showcase): serve html5 demo Bootstrap CSS via webjar
lukaszlenart Jul 17, 2026
31e23e1
WW-5653 feat(showcase): migrate navbar and top-level pages to Bootstr…
lukaszlenart Jul 18, 2026
91ad0a6
WW-5653 fix(showcase): migrate leftover Bootstrap 2 icon and fixed-na…
lukaszlenart Jul 18, 2026
1665571
WW-5653 feat(showcase): migrate tag-demo pages to Bootstrap 5
lukaszlenart Jul 18, 2026
e75e7db
WW-5653 feat(showcase): migrate validation-demo pages to Bootstrap 5
lukaszlenart Jul 18, 2026
b3e8d16
WW-5653 feat(showcase): migrate fileupload and conversion pages to Bo…
lukaszlenart Jul 18, 2026
bcb3d6e
WW-5653 feat(showcase): migrate wait, token and empmanager pages to B…
lukaszlenart Jul 18, 2026
74ec105
WW-5653 fix(showcase): remove BS3 carets and well class
lukaszlenart Jul 18, 2026
6fc4f91
WW-5653 fix(showcase): use ms-auto for right nav and add nav-link to …
lukaszlenart Jul 18, 2026
3fb3141
WW-5653 feat(rest-showcase): serve Bootstrap 5 CSS via webjars
lukaszlenart Jul 18, 2026
dd4c0b9
WW-5653 feat(rest-showcase): migrate JSP markup to Bootstrap 5
lukaszlenart Jul 18, 2026
40bb586
WW-5653 fix(rest-showcase): migrate legacy BS2/BS3 grid classes to Bo…
lukaszlenart Jul 18, 2026
9d1209f
WW-5653 fix(showcase): drop obsolete css/js excludePattern so webjar …
lukaszlenart Jul 18, 2026
4b96fcb
WW-5653 fix(samples): migrate remaining BS2/BS3 classes (tables, butt…
lukaszlenart Jul 18, 2026
90a6c6d
WW-5653 chore(showcase): comment out verbose debug loggers
lukaszlenart Jul 18, 2026
12a0c36
WW-5653 fix(showcase): migrate Bootstrap 5 markup in ftl/vm/html temp…
lukaszlenart Jul 18, 2026
a661ae5
WW-5653 test(showcase): disable JS in FreeMarkerManagerTest for Boots…
lukaszlenart Jul 18, 2026
ed62bd8
WW-5653 fix(showcase): replace dead Bootstrap 2 form and alert classes
lukaszlenart Jul 18, 2026
5aa9fad
WW-5653 test(showcase): make integration tests tolerate Bootstrap 5 u…
lukaszlenart Jul 18, 2026
6f10faa
WW-5653 test(showcase): poll for async chat result instead of fixed s…
lukaszlenart Jul 19, 2026
1642c99
WW-5653 test(showcase): drive AsyncTest via HTTP instead of HtmlUnit
lukaszlenart Jul 19, 2026
ac1a39d
WW-5653 fix(showcase): drop progressbar role from wait progress bar
lukaszlenart Jul 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/rest-showcase/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,14 @@
</exclusions>
</dependency>

<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>bootstrap-icons</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
1 change: 1 addition & 0 deletions apps/rest-showcase/src/main/resources/struts.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<constant name="struts.convention.default.parent.package" value="rest-showcase"/>

<constant name="struts.convention.package.locators" value="example"/>
<constant name="struts.webjars.allowlist" value="bootstrap,bootstrap-icons"/>

<!-- Uncomment the lines below to use Jackson XML bindings instead of the XStream library to handle XML serialisations -->
<!--
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
<title>Orders</title>
<!-- Using a standard HTML link tag with JSP EL to get the contextPath may be simpler, but this is an equivalent for s:link -->
<s:set var="pageContextPath"><%=((HttpServletRequest)request).getContextPath()%></s:set>
<s:link href="%{#pageContextPath}/css/bootstrap.min.css" rel="stylesheet"></s:link>
<link rel="stylesheet" href="<s:webjar path='bootstrap/css/bootstrap.min.css'/>"/>
<link rel="stylesheet" href="<s:webjar path='bootstrap-icons/font/bootstrap-icons.min.css'/>"/>
<s:link href="%{#pageContextPath}/css/app.css" rel="stylesheet"></s:link>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
Expand All @@ -44,7 +45,7 @@
<div class="row">
<div class="col-md-12">

<div class="page-header">
<div class="border-bottom pb-2">
<h1>Delete Order ${id}</h1>
</div>

Expand All @@ -59,7 +60,7 @@
</form>
<br />
<a href="${pageContext.request.contextPath}/orders" class="btn btn-info">
<span class="glyphicon glyphicon-arrow-left"></span> Back to Orders
<i class="bi bi-arrow-left"></i> Back to Orders
</a>
</div><!--/col-md-12--->
</div><!--/row-->
Expand Down
25 changes: 13 additions & 12 deletions apps/rest-showcase/src/main/webapp/WEB-INF/content/orders-edit.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
<title>Orders</title>
<!-- Using a standard HTML link tag with JSP EL to get the contextPath may be simpler, but this is an equivalent for s:link -->
<s:set var="pageContextPath"><%=((HttpServletRequest)request).getContextPath()%></s:set>
<s:link href="%{#pageContextPath}/css/bootstrap.min.css" rel="stylesheet"></s:link>
<link rel="stylesheet" href="<s:webjar path='bootstrap/css/bootstrap.min.css'/>"/>
<link rel="stylesheet" href="<s:webjar path='bootstrap-icons/font/bootstrap-icons.min.css'/>"/>
<s:link href="%{#pageContextPath}/css/app.css" rel="stylesheet"></s:link>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
Expand All @@ -44,47 +45,47 @@
<div class="row">
<div class="col-md-12">

<div class="page-header">
<div class="border-bottom pb-2">
<h1>Order <s:property value="id" /></h1>
</div>

<s:actionmessage cssClass="alert alert-danger"/>

<s:form method="post" action="%{#request.contextPath}/orders/%{id}" cssClass="form-horizontal" theme="simple">
<s:form method="post" action="%{#request.contextPath}/orders/%{id}" theme="simple">
<s:hidden name="_method" value="put" />
<div class="form-group">
<label class="col-sm-2 control-label" for="id">ID</label>
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="id">ID</label>
<div class="col-sm-4">
<s:textfield id="id" name="id" disabled="true" cssClass="form-control"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="clientName">Client</label>
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="clientName">Client</label>
<div class="col-sm-4">
<s:textfield id="clientName" name="clientName" cssClass="form-control"/>
</div>
<div class="col-sm-4">
<s:fielderror fieldName="clientName" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="amount">Amount</label>
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="amount">Amount</label>
<div class="col-sm-4">
<s:textfield id="amount" name="amount" cssClass="form-control" />
</div>
<div class="col-sm-4">
<s:fielderror fieldName="amount" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-4">
<div class="row mb-3">
<div class="offset-sm-2 col-sm-4">
<s:submit cssClass="btn btn-primary"/>
</div>
</div>
<table>
</s:form>
Comment on lines 85 to 86
<a href="${pageContext.request.contextPath}/orders" class="btn btn-info">
<span class="glyphicon glyphicon-arrow-left"></span> Back to Orders
<i class="bi bi-arrow-left"></i> Back to Orders
</a>
</div><!--/col-md-12--->
</div><!--/row-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
<title>Orders</title>
<!-- Using a standard HTML link tag with JSP EL to get the contextPath may be simpler, but this is an equivalent for s:link -->
<s:set var="pageContextPath"><%=((HttpServletRequest)request).getContextPath()%></s:set>
<s:link href="%{#pageContextPath}/css/bootstrap.min.css" rel="stylesheet"></s:link>
<link rel="stylesheet" href="<s:webjar path='bootstrap/css/bootstrap.min.css'/>"/>
<link rel="stylesheet" href="<s:webjar path='bootstrap-icons/font/bootstrap-icons.min.css'/>"/>
<s:link href="%{#pageContextPath}/css/app.css" rel="stylesheet"></s:link>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
Expand All @@ -44,39 +45,39 @@
<div class="row">
<div class="col-md-12">

<div class="page-header">
<div class="border-bottom pb-2">
<h1>New Order</h1>
</div>

<s:actionmessage cssClass="alert alert-danger"/>

<s:form method="post" action="%{#request.contextPath}/orders" cssClass="form-horizontal" theme="simple">
<div class="form-group">
<label class="col-sm-2 control-label" for="clientName">Client</label>
<s:form method="post" action="%{#request.contextPath}/orders" theme="simple">
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="clientName">Client</label>
<div class="col-sm-4">
<s:textfield id="clientName" name="clientName" cssClass="form-control"/>
</div>
<div class="col-sm-4">
<s:fielderror fieldName="clientName" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="amount">Amount</label>
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="amount">Amount</label>
<div class="col-sm-4">
<s:textfield id="amount" name="amount" cssClass="form-control"/>
</div>
<div class="col-sm-4">
<s:fielderror fieldName="amount" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-4">
<div class="row mb-3">
<div class="offset-sm-2 col-sm-4">
<s:submit cssClass="btn btn-primary"/>
</div>
</div>
</s:form>
<a href="${pageContext.request.contextPath}/orders" class="btn btn-info">
<span class="glyphicon glyphicon-arrow-left"></apan> Back to Orders
<i class="bi bi-arrow-left"></i> Back to Orders
</a>
</div><!--/col-md-12--->
</div><!--/row-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
<title>Orders</title>
<!-- Using a standard HTML link tag with JSP EL to get the contextPath may be simpler, but this is an equivalent for s:link -->
<s:set var="pageContextPath"><%=((HttpServletRequest)request).getContextPath()%></s:set>
<s:link href="%{#pageContextPath}/css/bootstrap.min.css" rel="stylesheet"></s:link>
<link rel="stylesheet" href="<s:webjar path='bootstrap/css/bootstrap.min.css'/>"/>
<link rel="stylesheet" href="<s:webjar path='bootstrap-icons/font/bootstrap-icons.min.css'/>"/>
<s:link href="%{#pageContextPath}/css/app.css" rel="stylesheet"></s:link>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
Expand All @@ -44,7 +45,7 @@
<div class="row">
<div class="col-md-12">

<div class="page-header">
<div class="border-bottom pb-2">
<h1>Orders</h1>
</div>
<s:actionmessage cssClass="alert alert-danger"/>
Expand All @@ -62,15 +63,15 @@
<td><s:property value="amount"/></td>
<td>
<div class="btn-group">
<a href="orders/${id}" class="btn btn-default"><span class="glyphicon glyphicon-eye-open"></span> View</a>
<a href="orders/${id}/edit" class="btn btn-default"><span class="glyphicon glyphicon-edit"></span> Edit</a>
<a href="orders/${id}/deleteConfirm" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Delete</a>
<a href="orders/${id}" class="btn btn-secondary"><i class="bi bi-eye"></i> View</a>
<a href="orders/${id}/edit" class="btn btn-secondary"><i class="bi bi-pencil"></i> Edit</a>
<a href="orders/${id}/deleteConfirm" class="btn btn-danger"><i class="bi bi-trash"></i> Delete</a>
</div>
</td>
</tr>
</s:iterator>
</table>
<a href="orders/new" class="btn btn-primary"><span class="glyphicon glyphicon-file"></span> Create a new order</a>
<a href="orders/new" class="btn btn-primary"><i class="bi bi-file-earmark"></i> Create a new order</a>
</div><!--/col-md-12--->
</div><!--/row-->
</div><!--/container-->
Expand Down
19 changes: 10 additions & 9 deletions apps/rest-showcase/src/main/webapp/WEB-INF/content/orders-show.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
<title>Orders</title>
<!-- Using a standard HTML link tag with JSP EL to get the contextPath may be simpler, but this is an equivalent for s:link -->
<s:set var="pageContextPath"><%=((HttpServletRequest)request).getContextPath()%></s:set>
<s:link href="%{#pageContextPath}/css/bootstrap.min.css" rel="stylesheet"></s:link>
<link rel="stylesheet" href="<s:webjar path='bootstrap/css/bootstrap.min.css'/>"/>
<link rel="stylesheet" href="<s:webjar path='bootstrap-icons/font/bootstrap-icons.min.css'/>"/>
<s:link href="%{#pageContextPath}/css/app.css" rel="stylesheet"></s:link>

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
Expand All @@ -43,25 +44,25 @@
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<div class="border-bottom pb-2">
<h1>Order ${id}</h1>
</div>
<table class="table table-striped">
<tr>
<td class="span3">ID</td>
<td class="span9"><s:property value="id"/></td>
<td class="col-3">ID</td>
<td class="col-9"><s:property value="id"/></td>
</tr>
<tr>
<td class="span3">Client</td>
<td class="span9"><s:property value="clientName"/></td>
<td class="col-3">Client</td>
<td class="col-9"><s:property value="clientName"/></td>
</tr>
<tr>
<td class="span3">Amount</td>
<td class="span9"><s:property value="amount"/></td>
<td class="col-3">Amount</td>
<td class="col-9"><s:property value="amount"/></td>
</tr>
</table>
<a href="${pageContext.request.contextPath}/orders" class="btn btn-info">
<span class="glyphicon glyphicon-arrow-left"></span> Back to Orders
<i class="bi bi-arrow-left"></i> Back to Orders
</a>
</div><!--/col-md-12--->
</div><!--/row-->
Expand Down
Loading
Loading