Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以内部类作为参数的Spring控制器_Java_Spring_Spring Mvc_Request_Inner Classes - Fatal编程技术网

Java 以内部类作为参数的Spring控制器

Java 以内部类作为参数的Spring控制器,java,spring,spring-mvc,request,inner-classes,Java,Spring,Spring Mvc,Request,Inner Classes,我有一个Spring控制器,其方法映射到请求: @RequestMapping(value = "/album", method = RequestMethod.POST) public void generateAlbum(GenerateAlbumParams params, HttpServletResponse response){ ... } GenerateAlbumParams是一个简单的类: @Getter @Setter public class GenerateAlbumP

我有一个Spring控制器,其方法映射到请求:

@RequestMapping(value = "/album", method = RequestMethod.POST)
public void generateAlbum(GenerateAlbumParams params, HttpServletResponse response){
...
}
GenerateAlbumParams是一个简单的类:

@Getter
@Setter
public class GenerateAlbumParams {

    public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
    private List<SlideParams> slideParams = new ArrayList<>();
}
一切都很好,但如果我想将slidepams作为的内部类生成bumparams

@Getter
@Setter
public class GenerateAlbumParams {

    public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
    private List<SlideParams> slideParams = new ArrayList<>();

    @Getter
    @Setter
    public class SlideParams{
        private Boolean checked = false;
        private Long id;
        private Position mapLegendPosition;
        private Position mapTablePosition;
    }
}
@Getter
@塞特
公共类GenerateAllams{
公共枚举位置{左上、左下、右上、右下}
private List slideParams=new ArrayList();
@吸气剂
@塞特
公共类幻灯片{
私有布尔值选中=false;
私人长id;
私人职位;私人职位;
私人职位;
}
}
它认为有一个例外:

HTTP状态500-请求处理失败;嵌套异常是 org.springframework.beans.InvalidPropertyException:无效属性 bean类的“slideParams[0]” [xxx.GenerateAlbumParams]:非法 尝试获取属性“slideParams”引发异常;嵌套 例外情况为org.springframework.beans.NullValueInTestedPathException: bean类的无效属性“slideParams” [xxx.GenerateAlbumParams]:无法 实例化属性类型 [xxx.GenerateAlbumParams$SlideParams] 自动增长嵌套属性路径;嵌套异常是 org.springframework.beans.BeanInstantiationException:未能 实例化 [xxx.GenerateAlbumParams$SlideParams]: 它是一个抽象类吗?;嵌套异常是 java.lang.InstanceionException: xxx.GenerateAlbumParams$SlideParams


似乎您应该将内部类
设置为静态
,这样就可以在不引用外部类的任何对象的情况下对其进行实例化(例如
新生成的bumparams.SlideParams()
似乎您应该将内部类
设置为静态
,这样就可以在不引用外部类的任何对象的情况下对其进行实例化(例如,
新一代bumparams.SlideParams()

@Getter
@Setter
public class GenerateAlbumParams {

    public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
    private List<SlideParams> slideParams = new ArrayList<>();

    @Getter
    @Setter
    public class SlideParams{
        private Boolean checked = false;
        private Long id;
        private Position mapLegendPosition;
        private Position mapTablePosition;
    }
}