簡體   English   中英

Struts 2中使用ModelDriven上傳文件Action類

[英]Upload file Action class with ModelDriven in Struts 2

我正在研究 Struts 2 並遇到一個問題:無法在實現ModelDrivenActionClass中上傳文件

產品.java

    public class Product {
    String name, image;

    public Product() {
    }

    public Product(String name, String image) {
        super();
        this.name = name;
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }
}

ProductAction.java

    public class ProductAction extends ActionSupport implements ModelDriven<Product> {

    private static final long serialVersionUID = -5538774764479904797L;

    File image;

    public void setImage(File file) {
        System.out.println("SET IMAGE");
    }

    public String submitPost() throws Exception {
        System.out.println(p.getName());
        System.out.println("POST");
        return SUCCESS;
    }

    Product p = new Product();

    @Override
    public Product getModel() {
        return p;
    }

}

我想在ProductAction中上傳。 但是如果ProductAction實現ModelDriven ,方法setImage()沒有被調用,並且如果ProductAction沒有實現ModelDriven ,它工作正常。 如何修復它?

image的類型更改為File和 getters/setters。 當您使用ModelDriven時,您不需要使用操作屬性。 也稱為控制器的動作類不需要保持狀態。 在用請求參數填充它之前,Struts 將您的模型推到valueStack的頂部。

String name;
File image; 
//getters and setters

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM