Java 当我在wicket表单中添加一个文件上传器时,表单在提交后会消失
当我在wicket表单中添加一个文件上传器时,表单在提交后就会消失,取而代之的是一个空白页面。当我评论文件上传器字段时,一切都正常。 谢谢你的帮助 在adduserPanel中,我调用UserClassPanel:Java 当我在wicket表单中添加一个文件上传器时,表单在提交后会消失,java,html,forms,file-upload,wicket,Java,Html,Forms,File Upload,Wicket,当我在wicket表单中添加一个文件上传器时,表单在提交后就会消失,取而代之的是一个空白页面。当我评论文件上传器字段时,一切都正常。 谢谢你的帮助 在adduserPanel中,我调用UserClassPanel: uploadfileForm = new Form("upoadfileWMC"); uploadfileForm.setOutputMarkupId(true); uploadfileForm.setMultiPart(true); uploadfi
uploadfileForm = new Form("upoadfileWMC");
uploadfileForm.setOutputMarkupId(true);
uploadfileForm.setMultiPart(true);
uploadfileForm.setMaxSize(Bytes.kilobytes(500));
add(uploadfileForm);
uploadfileForm.setMultiPart(true);
add(uploadfileForm);
fileUploadField = new FileUploadField("fileUpload");
if (userClass.getdBId() == null) {
fileUploadField.setRequired(true);
}
fileUploadField.setOutputMarkupId(true);
fileUploadField.setLabel(Model.of("بارگذاری کارت ملی"));
fileUploadField.add(new BootstrapErrorAppender(fileUploadField));
final FeedbackPanel fileUploadfdk = new FeedbackPanel("fileUploadfdk", new ComponentFeedbackMessageFilter(fileUploadField));
fileUploadfdk.setOutputMarkupId(true);
uploadfileForm.add(fileUploadfdk);
uploadfileForm.add(fileUploadField);
AjaxSubmitLink upload = new AjaxSubmitLink("upload", uploadfileForm) {
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(uploadfileForm);
target.add(feedback);
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
final FileUpload uploadedFile = fileUploadField.getFileUpload();
try {
if (uploadedFile != null) {
// write to a new file
File newFile = new File(System.getProperty("java.io.tmpdir") + "/" + userClass.getMeliCode());
if (newFile.exists()) {
newFile.delete();
}
newFile.createNewFile();
uploadedFile.writeTo(newFile);
info("کارت ملی بارگذاری شد");
}
} catch (IOException ex) {
logger.warn("can't write upload file : " + ex);
error("خطا در ذخیره سازی عکس");
}
target.add(uploadfileForm);
target.add(feedback);
}
};
uploadfileForm.add(upload);
feedback = new FeedbackPanel("feedback", new ComponentFeedbackMessageFilter(upload));
feedback.setOutputMarkupId(true);
uploadfileForm.add(feedback);
uploadfileForm=新表单(“uploadfilewmc”);
uploadfileForm.setOutputMarkupId(true);
uploadfileForm.setMultiPart(true);
uploadfileForm.setMaxSize(字节数.KB(500));
添加(上传文件格式);
uploadfileForm.setMultiPart(true);
添加(上传文件格式);
fileUploadField=新的fileUploadField(“fileUpload”);
if(userClass.getdBId()==null){
fileUploadField.setRequired(true);
}
setOutputMarkupId(true);
fileUploadField.setLabel(型号:of;
添加(新的bootstraperroappender(fileUploadField));
最终反馈面板fileUploadfdk=新反馈面板(“fileUploadfdk”,新组件FeedbackMessageFilter(fileUploadField));
fileUploadfdk.setOutputMarkupId(true);
uploadfileForm.add(fileUploadfdk);
uploadfileForm.add(fileUploadField);
AjaxSubmitLink upload=新的AjaxSubmitLink(“上传”,uploadfileForm){
@凌驾
受保护的void onError(AjaxRequestTarget目标,表单){
target.add(上传文件格式);
目标。添加(反馈);
}
@凌驾
提交时受保护的void(AjaxRequestTarget目标,表单){
final FileUpload uploadedFile=fileUploadField.getFileUpload();
试试{
if(uploadedFile!=null){
//写入新文件
File newFile=新文件(System.getProperty(“java.io.tmpdir”)+“/”+userClass.getMeliCode());
if(newFile.exists()){
newFile.delete();
}
createNewFile();
uploadedFile.writeTo(新文件);
信息(“信息”);
}
}捕获(IOEX异常){
logger.warn(“无法写入上载文件: " + ex);
错误(“错误”);
}
target.add(上传文件格式);
目标。添加(反馈);
}
};
uploadfileForm.add(上传);
反馈=新反馈面板(“反馈”,新组件反馈消息过滤器(上传));
feedback.setOutputMarkupId(true);
uploadfileForm.add(反馈);
在UserClassPanel.html中:
<form wicket:id="upoadfileWMC" class="form-group">
<!--<div wicket:id="upoadfileWMC" class="form-group">-->
<label dir="rtl" class="col-md-2 col-md-offset-1 control-label">بارگذاری کارت ملی</label>
<div class="col-md-5">
<input dir="rtl" wicket:id="fileUpload" type="file" class="form-control" id="choose-file" style="animation-fill-mode: both" required/>
<button wicket:id="upload" dir="rtl" type="submit" class="btn btn-success btn-lg btn-block">بارگذاری فایل</button>
<span class="help-block with-errors" wicket:id="fileUploadfdk"></span>
</div>
<!--</div>-->
<div wicket:id="feedback"></div>
</form>
بارگذاری کارت ملی
بارگذاری فایل
在addUserPanel.java中,我设置了一个AjaxSubmitLink,以更高的形式提交所有其他字段。我更改了脚本,因此发生了此事件
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(OnDomReadyHeaderItem.forScript(""
+ "$(document).ready(function() { "
// + " $(\"#" + locations.getMarkupId() + "\").select2({"
// + " language : \"fa\",dir:\"rtl\"});"
+ " $(\"#" + roles.getMarkupId() + "\").select2({"
+ " language : \"fa\",dir:\"rtl\"});"
+ " });"));
}
我评论了两行,因为我删除了位置选择,我认为没有问题。顺便说一下,现在一切正常。服务器日志中有错误吗?没有错误,即使在调试项目时,一切都正常。