我正在尝试从我的数据库/表格中获取数据将该数据打印到多个文本字段中。所有文本字段都在listview中,但它会出现以下错误:
错误:无法使用构造函数public com.cerebrum.pages.AdminViewUser()实例化页面
请检查我的代码:
public class AdminViewUser extends Home
{
Users UserModel=new Users();
List<Users> listCal = new ArrayList<Users>();
public AdminViewUser()
{
super();
add(new AdminViewUserForm());
}
public class AdminViewUserForm extends Form
{
public AdminViewUserForm()
{
super("AdminViewUserForm");
/*final WebMarkupContainer webMarkupContainer = new WebMarkupContainer("webMarkupContainer");
add(webMarkupContainer);
webMarkupContainer.setOutputMarkupId(true);*/
ListView listViewCal = new ListView("listViewCal", listCal)
{
protected void populateItem(ListItem item)
{
CheckBox chkBoxSelect=new CheckBox("chkBoxSelect");
add(chkBoxSelect);
TextField first_name=new TextField("txtFname");
add(first_name);
TextField middle_name=new TextField("txtMname");
add(middle_name);
TextField last_name=new TextField("txtLname");
add(last_name);
TextField dateOfBirth=new TextField("txtDOB");
add(dateOfBirth);
TextField emailid=new TextField("txtEmail");
add(emailid);
TextField mobileno=new TextField("txtMobileNo");
add(mobileno);
TextField user_name=new TextField("txtUserName");
add(user_name);
TextField password=new TextField("txtPassword");
add(password);
}
};
listViewCal.setOutputMarkupId(true);
add(listViewCal);
//webMarkupContainer.add(listViewCal);
List lstUsers=UsersHome.getUserInfo();
for(Iterator iterator=lstUsers.iterator();iterator.hasNext();)
{
Object[] obj=(Object[])iterator.next();
System.out.println(obj[8].toString()+"***************");
listCal.add(new Users(obj[8].toString(),obj[9].toString(),obj[10].toString(),obj[18].toString(),obj[14].toString(),obj[12].toString(),obj[6].toString(),obj[7].toString()));
}
}
}
}
答案 0 :(得分:2)
您的代码存在一些问题。首先,检查异常。真正的问题是进一步下降。 Wicket显示“错误:无法使用构造函数public com.cerebrum.pages.AdminViewUser()实例化页面”,因为该构造函数中存在异常。我猜你会发现一个NullPointerException。
然而,您不提供表单组件的模型(CheckBoxes,Textfields)。 Wicket不知道如何从User对象中读取和设置值。一种方法是在populateItem()中设置CompoundPropertyModel。
您从一堆字符串构造User,但稍后访问Checkbox的成员。复选框需要布尔模型。
不确定如何阅读用户对象。但是来自Object []的投射似乎很容易破解......