This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch WW-5653-bootstrap5-sample-apps in repository https://gitbox.apache.org/repos/asf/struts.git
commit b3e8d16da14cf4080f70e7f75fd215ffb58633bd Author: Lukasz Lenart <[email protected]> AuthorDate: Sat Jul 18 07:09:52 2026 +0200 WW-5653 feat(showcase): migrate fileupload and conversion pages to Bootstrap 5 Co-Authored-By: Claude Opus 4.8 <[email protected]> --- .../webapp/WEB-INF/conversion/enterAddressInfo.jsp | 2 +- .../webapp/WEB-INF/conversion/enterOperations.jsp | 2 +- .../webapp/WEB-INF/conversion/enterPersonInfo.jsp | 2 +- .../src/main/webapp/WEB-INF/conversion/index.jsp | 2 +- .../webapp/WEB-INF/conversion/showAddressInfo.jsp | 2 +- .../webapp/WEB-INF/conversion/showOperations.jsp | 2 +- .../webapp/WEB-INF/conversion/showPersonInfo.jsp | 2 +- .../WEB-INF/fileupload/dynamic-upload-success.jsp | 64 +++++++++++----------- .../webapp/WEB-INF/fileupload/dynamic-upload.jsp | 6 +- .../webapp/WEB-INF/fileupload/multiple-success.jsp | 2 +- .../fileupload/multipleUploadUsingArray.jsp | 2 +- .../WEB-INF/fileupload/multipleUploadUsingList.jsp | 2 +- .../webapp/WEB-INF/fileupload/upload-success.jsp | 2 +- .../src/main/webapp/WEB-INF/fileupload/upload.jsp | 2 +- 14 files changed, 47 insertions(+), 47 deletions(-) diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterAddressInfo.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterAddressInfo.jsp index 676c16949..640614b55 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterAddressInfo.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterAddressInfo.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Populate into Struts action class a Set of Address.java Object</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Populate into Struts action class a Set of Address.java Object</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterOperations.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterOperations.jsp index d3e30033e..53c22ac42 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterOperations.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterOperations.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Tiger 5 Enum</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Tiger 5 Enum</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterPersonInfo.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterPersonInfo.jsp index acb5b0377..5a9be57a0 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/enterPersonInfo.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/enterPersonInfo.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Populate Object into Struts' action List</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Populate Object into Struts' action List</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/index.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/index.jsp index adf6569e3..86fedbf73 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/index.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/index.jsp @@ -25,7 +25,7 @@ <title>Struts2 Showcase - Conversion</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/showAddressInfo.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/showAddressInfo.jsp index 3d636cb36..2f5a93b12 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/showAddressInfo.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/showAddressInfo.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Populate into Struts action class a Set of Address.java Object</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Populate into Struts action class a Set of Address.java Object</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/showOperations.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/showOperations.jsp index 8e643539a..b7fd700bf 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/showOperations.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/showOperations.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Tiger 5 Enum</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Tiger 5 Enum</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/conversion/showPersonInfo.jsp b/apps/showcase/src/main/webapp/WEB-INF/conversion/showPersonInfo.jsp index d3fc85ccb..fef019311 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/conversion/showPersonInfo.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/conversion/showPersonInfo.jsp @@ -24,7 +24,7 @@ <title>Struts2 Showcase - Conversion - Populate Object into Struts' action List</title> </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Conversion - Populate Object into Struts' action List</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload-success.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload-success.jsp index 78ca7086b..d001c53da 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload-success.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload-success.jsp @@ -30,7 +30,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>File Upload Successful</h1> <p class="lead">Your file was validated and uploaded successfully</p> </div> @@ -42,50 +42,50 @@ <strong>Success!</strong> Your file passed all validation checks. </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h3 class="panel-title">Upload Details</h3> + <div class="card"> + <div class="card-header"> + <h3 class="card-title">Upload Details</h3> </div> - <div class="panel-body"> - <dl class="dl-horizontal"> - <dt>Upload Type:</dt> - <dd><s:property value="uploadType == 'image' ? 'Image' : 'Document'"/></dd> + <div class="card-body"> + <dl class="row"> + <dt class="col-sm-3">Upload Type:</dt> + <dd class="col-sm-9"><s:property value="uploadType == 'image' ? 'Image' : 'Document'"/></dd> - <dt>Content Type:</dt> - <dd><code><s:property value="contentType"/></code></dd> + <dt class="col-sm-3">Content Type:</dt> + <dd class="col-sm-9"><code><s:property value="contentType"/></code></dd> - <dt>File Name:</dt> - <dd><s:property value="fileName"/></dd> + <dt class="col-sm-3">File Name:</dt> + <dd class="col-sm-9"><s:property value="fileName"/></dd> - <dt>Original Name:</dt> - <dd><s:property value="originalName"/></dd> + <dt class="col-sm-3">Original Name:</dt> + <dd class="col-sm-9"><s:property value="originalName"/></dd> - <dt>File Size:</dt> - <dd><s:property value="uploadSize"/> bytes</dd> + <dt class="col-sm-3">File Size:</dt> + <dd class="col-sm-9"><s:property value="uploadSize"/> bytes</dd> - <dt>Input Name:</dt> - <dd><s:property value="inputName"/></dd> + <dt class="col-sm-3">Input Name:</dt> + <dd class="col-sm-9"><s:property value="inputName"/></dd> - <dt>File Object:</dt> - <dd><code><s:property value="uploadedFile"/></code></dd> + <dt class="col-sm-3">File Object:</dt> + <dd class="col-sm-9"><code><s:property value="uploadedFile"/></code></dd> </dl> </div> </div> - <div class="panel panel-info"> - <div class="panel-heading"> - <h3 class="panel-title">Validation Rules Applied</h3> + <div class="card border-info"> + <div class="card-header text-bg-info"> + <h3 class="card-title">Validation Rules Applied</h3> </div> - <div class="panel-body"> - <dl class="dl-horizontal"> - <dt>Allowed MIME Types:</dt> - <dd><code><s:property value="uploadConfig.allowedMimeTypes"/></code></dd> + <div class="card-body"> + <dl class="row"> + <dt class="col-sm-3">Allowed MIME Types:</dt> + <dd class="col-sm-9"><code><s:property value="uploadConfig.allowedMimeTypes"/></code></dd> - <dt>Allowed Extensions:</dt> - <dd><code><s:property value="uploadConfig.allowedExtensions"/></code></dd> + <dt class="col-sm-3">Allowed Extensions:</dt> + <dd class="col-sm-9"><code><s:property value="uploadConfig.allowedExtensions"/></code></dd> - <dt>Maximum Size:</dt> - <dd><s:property value="uploadConfig.maxFileSizeFormatted"/></dd> + <dt class="col-sm-3">Maximum Size:</dt> + <dd class="col-sm-9"><s:property value="uploadConfig.maxFileSizeFormatted"/></dd> </dl> <p class="text-muted"> <small> @@ -98,7 +98,7 @@ <div class="btn-group"> <s:a action="dynamicUpload" cssClass="btn btn-primary"> - <i class="glyphicon glyphicon-upload"></i> Upload Another File + <i class="bi bi-upload"></i> Upload Another File </s:a> </div> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload.jsp index b1f2b50b5..b53956922 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/dynamic-upload.jsp @@ -26,7 +26,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Dynamic File Upload Validation</h1> <p class="lead">Demonstrates WithLazyParams for runtime validation rules</p> </div> @@ -73,14 +73,14 @@ <s:file name="upload" label="Select File" cssClass="form-control"/> <s:submit value="Upload File" cssClass="btn btn-primary"/> - <s:submit value="Refresh Rules" action="dynamicUpload" cssClass="btn btn-default"/> + <s:submit value="Refresh Rules" action="dynamicUpload" cssClass="btn btn-secondary"/> </s:form> </div> </div> <div class="row"> <div class="col-md-12"> - <div class="well"> + <div class="bg-light border rounded p-3"> <h4>How It Works</h4> <p>In <code>struts.xml</code>, the interceptor parameters use expressions:</p> <pre><interceptor-ref name="actionFileUpload"> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multiple-success.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multiple-success.jsp index 3ce6d84bb..b8e76638a 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multiple-success.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multiple-success.jsp @@ -29,7 +29,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Fileupload sample - Multiple fileupload</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingArray.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingArray.jsp index 7da56ba35..fa52f5190 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingArray.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingArray.jsp @@ -29,7 +29,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Fileupload sample - Multiple fileupload using Array</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingList.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingList.jsp index a7e227364..6fea44eab 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingList.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/multipleUploadUsingList.jsp @@ -29,7 +29,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Fileupload sample - Multiple fileupload using List</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload-success.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload-success.jsp index e694b75b9..949dcb02f 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload-success.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload-success.jsp @@ -29,7 +29,7 @@ </head> <body> -<div class="page-header"> +<div class="border-bottom pb-2 mb-3"> <h1>Fileupload sample</h1> </div> diff --git a/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload.jsp b/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload.jsp index a806af559..fc9abefdd 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/fileupload/upload.jsp @@ -25,7 +25,7 @@ </head> <body> - <div class="page-header"> + <div class="border-bottom pb-2 mb-3"> <h1>Fileupload sample</h1> </div>
