This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch feat/struts-730-modernization
in repository https://gitbox.apache.org/repos/asf/struts-examples.git

commit da63b40cfb8f7786563f18b53c8773e2b84b93f8
Author: Lukasz Lenart <[email protected]>
AuthorDate: Fri Aug 14 12:25:19 2026 +0200

    Add missing @StrutsParameter annotations to action classes
    
    Eight parameters across crud, shiro-basic, unknown-handler and
    validation-messages were silently dropped: 
struts.parameters.requireAnnotations
    has defaulted to true since before 7.2.1, and these setters and getters
    were never annotated.
    
    Depth 0 parameters are annotated on the setter and nested parameters on
    the getter, matching what ParametersInterceptor actually inspects.
    
    Co-Authored-By: Claude Opus 5 <[email protected]>
---
 crud/src/main/java/org/apache/struts/crud/action/PersonAction.java    | 2 ++
 .../java/org/apache/struts2/shiro/example/action/LoginAction.java     | 3 +++
 .../java/org/apache/struts2/shiro/example/action/WelcomeAction.java   | 2 ++
 .../src/main/java/org/apache/strutsexamples/actions/Login.java        | 3 +++
 .../src/main/java/org/apache/struts/validation_messages/Login.java    | 4 ++++
 5 files changed, 14 insertions(+)

diff --git a/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java 
b/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
index 7947f45..a401a8d 100755
--- a/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
+++ b/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
@@ -8,6 +8,7 @@ import org.apache.struts.crud.service.DefaultPersonService;
 import org.apache.struts.crud.service.PersonService;
 import org.apache.struts2.ActionSupport;
 import org.apache.struts2.Preparable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 /**
  * Acts as a controller to handle actions related to editing a Person.
@@ -77,6 +78,7 @@ public class PersonAction extends ActionSupport implements 
Preparable {
         return persons;
     }
 
+    @StrutsParameter(depth = 2)
     public Person getPerson() {
         return person;
     }
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
index c531825..e1bb747 100644
--- 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
@@ -12,6 +12,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts2.ActionSupport;
 import org.apache.struts2.Preparable;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 public class LoginAction extends ActionSupport implements Preparable
 {
@@ -98,6 +99,7 @@ public class LoginAction extends ActionSupport implements 
Preparable
         return username;
     }
 
+    @StrutsParameter
     public void setUsername(String username)
     {
         this.username = username;
@@ -108,6 +110,7 @@ public class LoginAction extends ActionSupport implements 
Preparable
         return password;
     }
 
+    @StrutsParameter
     public void setPassword(String password)
     {
         this.password = password;
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/WelcomeAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/WelcomeAction.java
index b76bcfc..226b98d 100644
--- 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/WelcomeAction.java
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/WelcomeAction.java
@@ -3,6 +3,7 @@ package org.apache.struts2.shiro.example.action;
 import org.apache.shiro.session.Session;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 public class WelcomeAction extends ShiroBaseAction
 {
@@ -99,6 +100,7 @@ public class WelcomeAction extends ShiroBaseAction
         return username;
     }
 
+    @StrutsParameter
     public void setUsername(String username) 
     {
         this.username = username;
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
index 6dca722..dad4425 100644
--- a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
+++ b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
@@ -3,6 +3,7 @@ package org.apache.strutsexamples.actions;
 import org.apache.struts2.ActionSupport;
 import org.apache.struts2.convention.annotation.Action;
 import org.apache.struts2.action.SessionAware;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 import java.util.Map;
 
@@ -37,6 +38,7 @@ public class Login extends ActionSupport implements 
SessionAware {
         return email;
     }
 
+    @StrutsParameter
     public void setEmail(String email) {
         this.email = email;
     }
@@ -45,6 +47,7 @@ public class Login extends ActionSupport implements 
SessionAware {
         return password;
     }
 
+    @StrutsParameter
     public void setPassword(String password) {
         this.password = password;
     }
diff --git 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
index 39bbb10..d700370 100644
--- 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
+++ 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
@@ -19,6 +19,8 @@
 
 package org.apache.struts.validation_messages;
 
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
+
 public class Login extends ExampleSupport {
 
     public String execute() {
@@ -40,6 +42,7 @@ public class Login extends ExampleSupport {
         return username;
     }
 
+    @StrutsParameter
     public void setUsername(String username) {
         this.username = username;
     }
@@ -50,6 +53,7 @@ public class Login extends ExampleSupport {
         return password;
     }
 
+    @StrutsParameter
     public void setPassword(String password) {
         this.password = password;
     }

Reply via email to