[JSF]关于页面间参数传递

       一开始在Creator2教程上看到从A页面传到B页面的方法,也就是比较原始的在URL的提交上做文章,其实也很好用,简单。传过去比较容易——/faces/Manager/NoticeModify.jsp?id=#{currentRow.value['notice.id']}就OK了,

B页面的接收 String nid =(String) (getExternalContext().getRequestParameterMap().get("id"); 就取到id值了,以上都还好,但是B页面提交的话,从A页面取得的id值就没了,然后就出错了。搞了我半天,在 http://blog.csdn.net/liangguanhui/archive/2007/08/03/1724629.aspx 上找到了解决方法,上面提示了两种办法。我用的是saveData() 和retyieveData()的方法:大概如下:

 private void _init() throws Exception {
        if(getExternalContext().getRequestParameterMap().get("id")!=null){
            saveData(saveid,getExternalContext().getRequestParameterMap().get("id"));
        }
        noticeModifyRowSet.setDataSourceName("java:comp/env/jdbc/dataSource5");
        noticeModifyRowSet.setCommand("SELECT * FROM notice where notice.id ="+retrieveData(saveid));
        noticeModifyRowSet.setTableName("notice");
        noticeModifyDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{Manager$NoticeModify.noticeModifyRowSet}"));
    }
    private final static String saveid ="";

--------------

最后这样的解决,其实是早上因为DataProvider的findFirst()对id字段无效(对其他字段却有效)才这样,不知道什么原因导致的,其他人好像也有类似问题,难道是bug.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值