Я использую Struts2 2.5.20 и написал действие загрузки файла, которое почти работает. Я вижу в отладчике, что setReport (), setReportContentType () и setReportFileName () вызываются и значения параметров верны. Однако метод execute () никогда не вызывается. Я попытался проследить за стеком вызовов, чтобы увидеть, где он должен был быть вызван, но есть только слой за слоем перехватчиков, которые я не могу найти в нижней части.
Кто-нибудь знает, в чем может быть причина выполнения execute () ?
public class ImportReportAction extends CampaignerActionSupport implements ValidationAware
{
private File report;
private String reportContentType;
private String reportFileName;
@Override
public String execute() throws Exception
{
...
return SUCCESS;
}
public void setReport(
File report)
{
this.report = report;
}
public void setReportContentType(
String reportContentType)
{
this.reportContentType = reportContentType;
}
@RequiredFieldValidator(type = ValidatorType.FIELD, key = "errors.required", messageParams = { "getText('labels.report.file')" })
public void setReportFileName(
String reportFileName)
{
this.reportFileName = reportFileName;
}
}