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

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

commit 90b7e6f8de37f59c2869b8f88d4afc9325db10b8
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Thu Mar 6 11:02:13 2025 +0100

    Adjusts config to be compatible with Struts 7 stronger security
---
 .../org/apache/struts/edit/action/EditAction.java  | 85 ++++++++++------------
 control-tags/src/main/resources/struts.xml         |  1 +
 2 files changed, 41 insertions(+), 45 deletions(-)

diff --git 
a/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
index 1e527b7..ef6f46c 100755
--- a/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ b/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -5,6 +5,7 @@ import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
 import org.apache.struts2.ActionSupport;
+import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -18,61 +19,55 @@ import java.util.List;
  */
 public class EditAction extends ActionSupport {
 
-       private static final long serialVersionUID = 1L;
+    private EditService editService = new EditServiceInMemory();
 
-       private EditService editService = new EditServiceInMemory();
+    private Person personBean;
+    private String[] sports = {"football", "baseball", "basketball"};
+    private String[] genders = {"male", "female", "not sure"};
+    private List<State> states;
+    private String[] carModelsAvailable = {"Ford", "Chrysler", "Toyota", 
"Nissan"};
 
-       private Person personBean;
-       private String [] sports = {"football", "baseball", "basketball" };
-       private String [] genders = {"male", "female", "not sure" };
-       private List<State> states ;
-       private String [] carModelsAvailable = 
{"Ford","Chrysler","Toyota","Nissan"};
+    public String save() throws Exception {
+        editService.savePerson(getPersonBean());
 
-       public String save() throws Exception {
-           editService.savePerson( getPersonBean() );
+        return SUCCESS;
+    }
 
-               return SUCCESS;
-       }
+    public String input() throws Exception {
+        setPersonBean(editService.getPerson());
 
-       public String input() throws Exception {
-               setPersonBean( editService.getPerson() );
+        return INPUT;
+    }
 
-               return INPUT;
-       }
+    @StrutsParameter(depth = 2)
+    public Person getPersonBean() {
+        return personBean;
+    }
 
-       public Person getPersonBean() {
-               return personBean;
-       }
+    public void setPersonBean(Person person) {
+        personBean = person;
+    }
 
-       public void setPersonBean(Person person) {
-               personBean = person;
-       }
+    public List<String> getSports() {
+        return Arrays.asList(sports);
+    }
 
-       public List<String> getSports() {
-               return Arrays.asList(sports);
-       }
+    public List<String> getGenders() {
+        return Arrays.asList(genders);
+    }
 
-       public List<String> getGenders() {
-               return Arrays.asList(genders);
-       }
+    public List<State> getStates() {
+        states = new ArrayList<>();
+        states.add(new State("AZ", "Arizona"));
+        states.add(new State("CA", "California"));
+        states.add(new State("FL", "Florida"));
+        states.add(new State("KS", "Kansas"));
+        states.add(new State("NY", "New York"));
 
+        return states;
+    }
 
-
-       public List<State> getStates() {
-
-               states = new ArrayList<>();
-               states.add( new State("AZ", "Arizona") );
-               states.add( new State("CA", "California") );
-               states.add( new State("FL", "Florida") );
-               states.add( new State("KS", "Kansas") );
-               states.add( new State("NY", "New York") );
-
-               return states;
-       }
-
-
-
-       public String [] getCarModelsAvailable() {
-               return carModelsAvailable;
-       }
+    public String[] getCarModelsAvailable() {
+        return carModelsAvailable;
+    }
 }
diff --git a/control-tags/src/main/resources/struts.xml 
b/control-tags/src/main/resources/struts.xml
index 750b70f..3473cb6 100755
--- a/control-tags/src/main/resources/struts.xml
+++ b/control-tags/src/main/resources/struts.xml
@@ -6,6 +6,7 @@
 
     <constant name="struts.devMode" value="true"/>
     <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
+    <constant name="struts.allowlist.packageNames" 
value="org.apache.struts.edit.model"/>
 
     <package name="basicstruts2" extends="struts-default">
         <default-action-ref name="index"/>

Reply via email to