码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-03-06 16:16:31      阅读:147      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!