![](/img/trans.png)
[英]Struts 2/ Foundation 5 - ModelDriven class and File upload
[英]Upload file Action class with ModelDriven in Struts 2
我正在研究 Struts 2 並遇到一個問題:無法在實現ModelDriven
的ActionClass
中上傳文件
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;
}
}
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.