VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 796|回复: 2

JSF Datatable 显示 ResultSetDataModel 对象,如何点选单条记录显示详情

[复制链接]

2

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-17 11:20:01 | 显示全部楼层 |阅读模式
初学jsf,现在有个问题,我用 ResultSetDataModel 封装了rs对象,在jsf页面上显示 Dataltable没有问题,可是我要点击其中一个记录,然后显示详情。

点击动作绑定到一个 select方法,来确定被选哪条记录,我只会使用model.getRowIndex() 得到被点击这个行的序号,怎么用model.getRowData() 得到这记录的其他信息呢?

多谢!

public String select() {

           ResultSet result2 = (ResultSet)model.getRowData();//加这句就出错
        rowIndex = model.getRowIndex(); //如果只是取得这个序号可以得到
        return "success";
              }
错误信息
javax.faces.el.EvaluationException: java.lang.ClassCastException: javax.faces.model.ResultSetDataModel$ResultSetMap
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:225)

看过一些例子,都是封装的比如ListDataModel, 其中的单项记录就是一个List中的 对象,可是ResultSet 中一个记录是什么对象呢?用ResultSet对象就出错。

多谢
回复

使用道具 举报

2

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-22 22:45:01 | 显示全部楼层
Map myMap= (Map)model.getRowData();              
msgr=  (String) myMap.get("username");

去查了sun的文档,model.getRowData()返回的是map类型,键值是表的列名,用上面这个方法可以得到被点击条目的 每一项内容了。

没有java基础一边学jsf,一边查java,太痛苦了,希望对其他初学同道们有点帮助呀!呵呵
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-23 17:00:01 | 显示全部楼层
JSF真不好用 比asp.net可用性差一步 哎
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表