首页 > Web开发 > 详细

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

时间:2015-03-06 16:14:30      阅读:408      评论:0      收藏:0      [点我收藏+]

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步,控制层中即可获取到超链接中传递的参数了。

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

原文:http://www.cnblogs.com/bigbang92/p/jsf_link-param.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!