我現在使用Jasper創建報表並且幾乎一切順利。我們設置它的方式是,如果用戶將預覽報告,報告(pdf)將顯示在新標籤上。問題是如果發生錯誤,新的Tab仍然會被打開,而不是僅僅在原始頁面上顯示反饋面板。Java Wicket - 防止表單從異常發生時創建新選項卡
如何設置表單,以便在原始頁面上顯示反饋面板而不是新打開的Tab?
Form<?> form = new Form<Void>("form");
form.add(new AttributeAppender("target", Model.of("_blank")));
SubmitLink view= new SubmitLink("view") {
@Override
public void onSubmit() {
//code inside a try-catch to generate the report using Jasper}
};
CptiDownloadButton download = new CptiDownloadButton("download", new AbstractReadOnlyModel<File>(){
//CptiDownloadButton extends SubmitLink button and is a modification of Mr Ivaynberg's DownloadLink
};
<form wicket:id="form">
<a href="#" wicket:id="submit"><input type="button" wicket:message="value:search"/></a>
<a href="#" wicket:id="download"><input type="button" wicket:message="value:download"/></a>
</form>
在此先感謝任何會回答的人。 ^^
嗨先生!我已經確定下載部分。我現在想要的是當發生異常時,無論是預覽還是下載報表,都要停止創建新選項卡。 –
請參閱WiseTree的答案以獲得更好的解釋。 – svenmeier