• JSF通过超链接传递参数到控制层


    JSF通过超链接传输数据到控制层可以分为三个步骤:

      1.首先将数据加入到超链接中。通过<h:link>标签加入一个超链接,然后加入<f:param>标签加入参数。示例代码如下:

    1 <h:link outcome="next.xhtml">
    2     跳转
    3     <f:param name="id" value="2"/>
    4 </h:link>

    其中name和value会出现在url上,组成类似于"next.xhtml?id=2"这样的key-value形式。

      2.跳转后的页面接收数据,next.html可以这样写,示例代码如下:

    1 <f:metadata> 
    2     <f:viewParam name="id" value="#{bean.id}" />
    3     <f:event listener="#{bean.init}" type="javax.faces.event.PreRenderViewEvent"></f:event>
    4 </f:metadata>

      这段代码写在html页面命名空间之后,其中name和value和超链接一样的关联起来,value对应bean里面的一个属性。<f:event>为页面初始化参数,listener对应要初始化的方法,type是事件类型,例子中的是页面渲染之前的事件类型。具体类型API提到以下几种类型:

    value for "type" tag attribute        Type of event sent to listener method
    preRenderComponent                    javax.faces.event.PreRenderComponentEvent
    preRenderView                         javax.faces.event.PreRenderViewEvent 
    postAddToView                         javax.faces.event.PostAddToViewEvent 
    preValidate                           javax.faces.event.PreValidateEvent 
    postValidate                          javax.faces.event.PostValidateEvent

      3.页面跳转之后,html中也已经接收到,最终要传递到控制层中的,控制层中接收很简单,只需要对应页面中<f:viewParam>中value的数据就行,在bean中声明该数据,并生成get和set方法即可。此处省略bean中的代码了。

      总结起来就这3步,控制层中即可获取到超链接中传递的参数了。

  • 相关阅读:
    MySQL的图形化安装
    java笔记整理
    运动会报名系统的简易实现
    JDBC知识点总结
    MySQL常用知识总结
    python的传参数用法
    R统计数据框的行数
    SAINT学习笔记
    win10 双网卡设置内网和外网同时访问
    根据GSVA结果绘制不同组的趋势图
  • 原文地址:https://www.cnblogs.com/bigbang92/p/jsf_link-param.html
Copyright © 2020-2023  润新知