Well...DUH to me! :/
Appart from the getUsers method, I was also trying a wrong query to the
database.. Anyway, my method has to be something like this..
...
public List getUsers(ResultSet rs) {
List retval = new ArrayList();
try {
while(rs.next()) {
retval.add(new User(rs.getInt("userid"), rs.getString("name"),
rs.getString("phone"), rs.getString("email"), rs.getString("type")));
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return retval;
}
Thanks ;)
Robert Novotny wrote:
>
> Hello,
> your getUsers() method looks suspicious - it seems to create list of
> strings (not Users). Particularly, you add Strings retrieved from the
> resultset into the list.
> retval.add(rs.getString(1));
> Therefore the ListView component gets passed the list of Strings retrieved
> from the first column of table.
>
> Robert Novotny
>
>
>
> eddmosphere wrote:
>>
>> Hi there! I'm realllyyyy getting confused..
>>
>> I'm trying to create a table with the resultSet from a mysql database (I
>> tried DataView but gave up..too much for me) by using a ListView. The
>> problem is that I keep getting an ClassCastException: java.lang.String.
>> Wicket tells me this happens in the populateItem() method when I try to
>> cast the ListItem to User (of course..). I have a simple User class with
>> getters to retrieve: int userid, String name, String phone, etc...I don't
>> know why this is happening so..could someone please help?
>>
>> Thanks in advance,
>> Edd
>>
>>
>> [CODE]
>>
>> ....
>>
>> /* create connection do mysql db and retrive a ResultSet */
>> NewConnection myconn = new NewConnection();
>> final ResultSet userTableData = myconn.queryTable("SELECT * FROM
>> user");
>>
>> /* calling method that transforms my ResultSet (usersList) to a
>> List */
>> List usersList = getUsers(userTableData);
>>
>> ListView listView = new ListView("pageable", usersList)
>> {
>> protected void populateItem(ListItem listItem)
>> {
>> User user = (User)listItem.getModelObject(); //
>> CLASSCASTEXCEPTION HEREEE
>> listItem.add(new Label("userid",
>> Integer.toString(user.getUserId())));
>> listItem.add(new Label("name", user.getName()));
>> listItem.add(new Label("phone", user.getPhone()));
>> listItem.add(new Label("email", user.getEmail()));
>> listItem.add(new Label("type", user.getType()));
>> }
>>
>> };
>> add(listView);
>>
>>
>> .....
>>
>> /* method to convert ResultSet to List */
>> public List getUsers(ResultSet rs) {
>> List retval = new ArrayList();
>> try {
>> while(rs.next()) {
>> retval.add(rs.getString(1));
>> }
>> } catch (SQLException ex) {
>> ex.printStackTrace();
>> }
>> return retval;
>> }
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/ListView-class-cast-exception-tf3807874.html#a10784556
Sent from the Wicket - User mailing list archive at Nabble.com.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user