【发布时间】:2015-09-30 18:34:32
【问题描述】:
我的代码
package com.remp.xyz;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.wicket.validation.validator.EmailAddressValidator;
import org.apache.wicket.validation.validator.NumberValidator.RangeValidator;
public class FormValidation extends WebPage {
FormValidation(final PageParameters parameters) {
prepareComponent();
}
void prepareComponent() {
FeedbackPanel feedBackPanel = new FeedbackPanel("feedbackMsg");
Form<?> form = new Form<Object>("form");
TextField<String> name = new RequiredTextField<String>("name", new Model<String>());
TextField<Integer> age = new RequiredTextField<Integer>("age", new Model<Integer>());
TextField<String> email = new RequiredTextField<String>("email", new Model<String>());
TextField<String> zipcode = new RequiredTextField<String>("zipcode", new Model<String>());
age.setType(Integer.class);
age.add(RangeValidator.range(12, 60));
email.add(EmailAddressValidator.getInstance());
form.add(new Button("submit") {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
super.onSubmit();
}
});
add(feedBackPanel);
add(form);
form.add(name);
form.add(age);
form.add(email);
form.add(zipcode);
}
}
我遇到以下错误:
Apache Wicket error : Class does neither have a constructor with PageParameter nor a default constructor
我有什么遗漏吗?显然这个类有一个构造函数所以我不确定问题是什么?
【问题讨论】:
-
您使用的是什么版本的 Wicket?您可能正在导入错误的页面参数。我的代码导入 org.apache.wicket.request.mapper.parameter.PageParameters;
-
改进问题以便更好地理解
-
构造函数应该是公共的,但是在你的类中你使用了默认范围。
-
@AndreaDelBene 给出最好的诊断
标签: java forms validation wicket