Java 为什么在我的代码中没有调用is onSubmit?
网页中未调用Java 为什么在我的代码中没有调用is onSubmit?,java,wicket,Java,Wicket,网页中未调用onSubmit() 我已经用super.onSubmit()试过了,我试过用一个按钮来实现它 而且我确信它没有被调用,因为在onSubmit-方法中,它尝试在代码中sysout一些字符串 代码如下: Form form = new Form("setPersonalDataForm") { @Override public void onSubmit() { System.out.println(&q
onSubmit()
我已经用super.onSubmit()
试过了,我试过用一个按钮来实现它
而且我确信它没有被调用,因为在onSubmit
-方法中,它尝试在代码中sysout一些字符串
代码如下:
Form form = new Form("setPersonalDataForm") {
@Override
public void onSubmit() {
System.out.println("If you read this its called");
String setPersonalDataEndpoint = new PropertyLoader().getPropValues("setPersonalData", "api.properties");
JSONObject setPersonalDataJson = new JSONObject();
Object uasAccountId = uasAccountIdTextField.getDefaultModelObject();
Object firstname = firstnameTextField.getDefaultModelObject();
Object middlename = middlenameTextField.getDefaultModelObject();
Object surname = surnameTextField.getDefaultModelObject();
Object companyline1 = companyLine1TextField.getDefaultModelObject();
Object companyline2 = companyLine2TextField.getDefaultModelObject();
String dateToConvert = birthdateTextField.getDefaultModelObject().toString();
DateConverter dateConverter = (date) -> {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM d H:mm:ss zzz yyyy", Locale.ENGLISH);
ZonedDateTime parsedDate = ZonedDateTime.parse(dateToConvert, formatter);
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Object birthdate = parsedDate.format(formatter2);
return birthdate.toString();
};
Object birthdate = dateConverter.convertDate(dateToConvert);
setPersonalDataJson.put("brand", selectedBrand);
setPersonalDataJson.put("uasAccountId", uasAccountId);
setPersonalDataJson.put("salutation", selectedSalutation);
setPersonalDataJson.put("gender", selectedGender);
setPersonalDataJson.put("firstname", firstname);
setPersonalDataJson.put("middlename", middlename);
setPersonalDataJson.put("surname", surname);
setPersonalDataJson.put("companyLine1", companyline1);
setPersonalDataJson.put("companyLine2", companyline2);
setPersonalDataJson.put("birthday", birthdate);
PageParameters setPersonalDataParameters = new PageParameters();
try {
ResponseEntity response = new TestService().postTestJson(setPersonalDataJson, setPersonalDataEndpoint);
String responseBody = response.getBody().toString();
JSONObject responseJsonObject = new JSONObject(responseBody);
String testSuccessfull = responseJsonObject.get("status").toString();
String message = responseJsonObject.get("message").toString();
setPersonalDataParameters.add("testSuccessfull", testSuccessfull);
setPersonalDataParameters.add("message", message);
setPersonalDataParameters.add("requestJson", setPersonalDataJson.toString());
setResponsePage(ResponsePage.class, setPersonalDataParameters);
} catch (Exception e) {
setPersonalDataParameters.add("testSuccessfull", "failed");
setPersonalDataParameters.add("requestJson", setPersonalDataJson.toString());
}
setResponsePage(ResponsePage.class, setPersonalDataParameters);
}
};
有人知道为什么不调用它以及如何修复它吗?
提前谢谢 如果未调用onSubmit()
,则很可能调用onError()
我的Apache Wicket培训的“最佳实践”幻灯片中的一个项目是:始终将onError()
与onSubmit()
一起重写!大多数情况下,您会希望在其主体中重新渲染反馈面板。但是,即使将某些内容打印到stderr,也会为您节省很多挫折 非常确定,因为printl不是一个函数…非常感谢!你能给我解释一下为什么不叫onSubmit而是叫onError吗?或者你能给我发个链接吗?@XaNaX420这在官方Wicket文档中有很好的描述: