wicket、ajax、jquery を使用しています。フォーム (これには日付用の 2 つのフィールドがあります) を送信すると、ユーザーはファイル ダウンロードのポップアップを取得します。処理を表示するのに時間がかかるので、これは ajax と jquery で動作します。今の問題は、スピナーがないのに通常のウィケット送信ボタンを使用するときですが、レポートのダウンロードは正常に機能します。しかし、ajaxbutton を使用すると、スピナーが表示されますが、レポートを開く/保存するポップアップはありません。
次のコードは正常に動作し、開く/保存するポップアップが表示されますが、ajax アクションがないため、スピナーは表示されません。
add(new SubmitLink("runReport") {
*//**
*
*//*
private static final long serialVersionUID = 10011L;
*//**
*
*//*
@Override
public void onSubmit() {
HashMap<String, Object> map = new HashMap<String, Object>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
map.put("reportStartDate", formatter.format(getReportStartDate()));
// Add a day to the end date to include the date entered by the user.
Calendar cal = Calendar.getInstance();
cal.setTime(getReportEndDate());
cal.add(Calendar.DATE, 1);
map.put("reportEndDate", formatter.format(cal.getTime()));
generateReport(map,"ecommerceReport.rptdesign");
}
}
.add(RelativePathPrefixHandler.RELATIVE_PATH_BEHAVIOR)
);
次のコードはスピナーを ajax として表示しますが、開く/保存するポップアップはありません
AjaxButton runReportButton = new AjaxButton("runReport", this) {
private static final long serialVersionUID = 10008L;
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
HashMap<String, Object> map = new HashMap<String, Object>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
map.put("reportStartDate", formatter.format(getReportStartDate()));
// Add a day to the end date to include the date entered by the user.
Calendar cal = Calendar.getInstance();
cal.setTime(getReportEndDate());
cal.add(Calendar.DATE, 1);
map.put("reportEndDate", formatter.format(cal.getTime()));
generateReport(map,"ecommerceReport.rptdesign");
target.addComponent(form);
}
};
runReportButton.add(RelativePathPrefixHandler.RELATIVE_PATH_BEHAVIOR);
runReportButton.add(new SimpleAttributeModifier("onmouseup", "showPopup();"));
add(runReportButton);
次のコードでも機能しません。
add(new AjaxFallbackButton("runReport", this) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
HashMap<String, Object> map = new HashMap<String, Object>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
map.put("reportStartDate", formatter.format(getReportStartDate()));
// Add a day to the end date to include the date entered by the user.
Calendar cal = Calendar.getInstance();
cal.setTime(getReportEndDate());
cal.add(Calendar.DATE, 1);
map.put("reportEndDate", formatter.format(cal.getTime()));
generateReport(map,"ecommerceReport.rptdesign");
target.addComponent(form);
}
});
何か助けて、私が間違っていること