Java PlayFramework如何从超级控制器访问列表

Java PlayFramework如何从超级控制器访问列表,java,controller,superclass,Java,Controller,Superclass,我正在完成我的大学项目,但我遇到了奇怪的问题。因为我是一名学生,如果是平淡无奇的话,请立即道歉。 我有我的BasicCommonController,它有列表backendErrors=newArrayList() ,我有另一个扩展BasicCommonController的控制器,我可以从BasicCommonController访问backendErrors列表,但我不能 要将新元素放入列表,wchich始终为空。我曾尝试通过super.backendErrors访问,但它也不起作用。 如何

我正在完成我的大学项目,但我遇到了奇怪的问题。因为我是一名学生,如果是平淡无奇的话,请立即道歉。 我有我的BasicCommonController,它有列表backendErrors=newArrayList() ,我有另一个扩展BasicCommonController的控制器,我可以从BasicCommonController访问backendErrors列表,但我不能 要将新元素放入列表,wchich始终为空。我曾尝试通过super.backendErrors访问,但它也不起作用。
如何向super.backendErrors添加一些错误并在其他控制器中访问它

这是抽象控制器:

package controllers;

import org.apache.commons.lang3.StringUtils;
import play.Logger;
import play.Play;
import play.mvc.Controller;

import java.util.ArrayList;
import java.util.List;


/**
 * Created by vv on 22.04.2017.
 */
public class BasicAbstractController extends Controller {

    public static final String GO_HOME = "/";

    public List<String> backendErrors = new ArrayList<>();

    public static String getPlaceToObserve(){
        String place = Play.application().configuration().getString("storage.place");
        if(StringUtils.isNotBlank(place)){
            return place;
        }
        return StringUtils.EMPTY;
    }

    public static String getServerInstance(){
        String instance = Play.application().configuration().getString("storage.place");
        if(StringUtils.isNotBlank(instance)){
            return instance;
        }
        return StringUtils.EMPTY;
    }
}
包控制器;
导入org.apache.commons.lang3.StringUtils;
导入play.Logger;
输入play.play;
导入play.mvc.Controller;
导入java.util.ArrayList;
导入java.util.List;
/**
*由vv于2017年4月22日创建。
*/
公共类BasicAbstractController扩展控制器{
公共静态最终字符串GO_HOME=“/”;
public List backendErrors=new ArrayList();
公共静态字符串getPlaceToObserve(){
字符串位置=Play.application().configuration().getString(“storage.place”);
if(StringUtils.isNotBlank(place)){
返回地点;
}
返回StringUtils.EMPTY;
}
公共静态字符串getServerInstance(){
String实例=Play.application().configuration().getString(“storage.place”);
if(StringUtils.isNotBlank(实例)){
返回实例;
}
返回StringUtils.EMPTY;
}
}
这是一个示例控制器

package controllers;

import com.google.common.io.Files;
import com.sun.org.apache.regexp.internal.RE;
import constans.AppCommunicates;
import play.Logger;
import play.mvc.Http;
import play.mvc.Result;
import util.FileUtil;

import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * Created by vv on 22.04.2017.
 */
public class FileUploadController extends BasicAbstractController {


    public Result upload() {
        Http.MultipartFormData<File> body = request().body().asMultipartFormData();
        Http.MultipartFormData.FilePart<File> picture = body.getFile("picture");
        if (picture != null) {
            String fileName = picture.getFilename();
            String contentType = picture.getContentType();
            File file = picture.getFile();
            File fileToSave = new File(getPlaceToObserve() + "/" + picture.getFilename());
            try{
                Files.copy(file,fileToSave);
            }
            catch (IOException ioe){
                Logger.error("Unable to write file");
            }
            Logger.error("File Handled Cuccessfully");
            return redirect(GO_HOME);
        } else {
            flash("error", "Missing file");
            return badRequest();
        }
    }

    public Result delete(String fileName){
        List<File> files = FileUtil.getCurrentFileNames();
        File fileToDelete = null;
        for (File file : files) {
            if(file.getName().equals(fileName)){
                fileToDelete = file;
                break;
            }
        }
        boolean deletionResult = FileUtil.deleteGivenFile(fileToDelete);
        if(!deletionResult){
//            i am not able to add smthg here
            backendErrors.add(AppCommunicates.UNABLE_TO_DELETE_FILE);
        }
        return redirect(GO_HOME);
    }
}
包控制器;
导入com.google.common.io.Files;
导入com.sun.org.apache.regexp.internal.RE;
进口康斯坦斯;
导入play.Logger;
导入play.mvc.Http;
导入play.mvc.Result;
导入util.FileUtil;
导入java.io.File;
导入java.io.IOException;
导入java.util.List;
/**
*由vv于2017年4月22日创建。
*/
公共类FileUploadController扩展了BasicAbstractController{
公共结果上载(){
Http.MultipartFormData body=request().body().asMultipartFormData();
Http.MultipartFormData.FilePart picture=body.getFile(“picture”);
如果(图片!=null){
字符串文件名=picture.getFilename();
字符串contentType=picture.getContentType();
File File=picture.getFile();
File fileToSave=新文件(getPlaceToObserve()+“/”+picture.getFilename());
试一试{
文件。复制(文件,文件保存);
}
捕获(ioe异常ioe){
Logger.error(“无法写入文件”);
}
Logger.error(“文件处理成功”);
返回重定向(回家);
}否则{
闪存(“错误”、“缺少文件”);
返回请求();
}
}
公共结果删除(字符串文件名){
List files=FileUtil.getCurrentFileNames();
File fileToDelete=null;
用于(文件:文件){
if(file.getName().equals(fileName)){
fileToDelete=文件;
打破
}
}
布尔deletionResult=FileUtil.deleteGivenFile(fileToDelete);
如果(!deletionResult){
//我无法在此添加smthg
backendErrors.add(AppCommunications.UNABLE\u TO\u DELETE\u文件);
}
返回重定向(回家);
}
}

我无法添加或访问其他控制器的列表

请添加一些代码!