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; }
