I'm working on Struts 2 web application, using the Convention Plugin to configure everything via annotations. I'm hitting a snag with some of my action classes, where I'd like to use multiple parent packages. I did find a means of doing it on Apache's site - but that appears to be deprecated. It does not work, throwing back a Type mismatch: cannot convert from String[]
to String
error.
@ParentPackage({"my-parent-package1, my-parent-package2"})
package com.mycompany.myapp.actions
import org.apache.struts2.config.ParentPackage;
I am using Struts 2.2.1. Is it possible to grant an action multiple parent packages via annotations? Seems odd that they would have removed this as a feature.
I checked
org.apache.struts2.convention.annotation.ParentPackage
for you, it is not allowed to define multi-parent-package. here is the snippet:You cannot do it with annotations, but it's still possible via XML config. The javadoc says
This means that is possible to have multiple parent packages in the java package. But you cannot place two or more
@ParentPackage
annotations on the same class or package. And as you notices cannot have array for parent packages. But you can at least have two parent packages one at the package definition and other at the action class. And unfortunate the config builder builds two configs for this annotations but the action config is only created for the one that has an annotation.