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

时间: 2024-10-27 06:04:20

JSF通过超链接传递参数到控制层的相关文章

spring - springMVC - 传递参数

https://www.cnblogs.com/clamp7724/p/11693572.html 在这个例子的基础上修改 1.前台向后台传参 1.1:超链接传递参数 在index.jsp页面添加超链接 <a href="hello/helloparams?name='yzha'&password='123456'">Hello params</a> <!--据说有的浏览器hello/helloparams不行,谷歌是可以的,别的不知道...--&

linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数

在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB或LILO等启动程序调用之时传递给kernel. 3.在kernel运行时,修改/proc或/sys目录下的文件. 这里我简单讲的就是第二种方式了,kernel在grub中配置的启动参数. 首先,kernel有哪些参数呢? 在linux的源代码中,有这样的一个文档Documentation/kern

JSF在ui:include中传递参数到对应控制层

在JSF中使用ui:include方法可以引入一个页面到当前页面中,如果要向被包含的页面中传入参数,可以使用ui:param标签,这个标签类似于f:param,只不过一个用于页面,一个用于实际标签.示例代码如下: 1 <ui:include src="a.xhtml"> 2 <ui:param name="id" value="#{bean.id}" /> 3 </ui:include> 此时可以将一个属性名为

SSH通过超链接传递中文参数出现乱码问题

通过超链接传递中文参数出现乱码问题 tomcat中的server.xml文件中修改如下配置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

springmvc后台控制层获取参数的方法

在SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"), 另外一种是用注解@RequestParam直接获取.这里主要讲这个注解 一.基本使用,获取提交的参数 后端代码: Java代码   @RequestMapping("testRequestParam") public String filesUpload(@RequestParam String inputStr, HttpServletReq

JSF根据控制层代码改变前端样式

使用jsf时,有时候需要在请求了控制层之后改变当前文本或者div的样式,页面无需写js代码,这里可以用一种方法来做到,在此做个记录.示例性代码如下: 1 <li class="#{bean.isTure?'a':'b'}"> 2 <label>哈哈</label> 3 </li> 根据bean中的isTrue方法返回的值,做一个三目运算来选择相应的class即可.

easyUI传递参数

#======================JSP=====================================                <div class="labelw lbl">时间</div>                        <div class="datetimew val">                            <input class="easyu

控制层SpringMVC和Struts2的区别

我们现在流行的常用的MVC层,控制层Controller层的框架主要有Struts2和SpringMVC两个框架,分别对应着Action和Controller.那么SpringMVC和Struts的主要区别有那些呢? 一.框架机制 我们知道Struts2采用Filter实现,而SpringMVC则采用Servlet实现. Struts2使用StrutsPrepareAndExecuteFilter,而SpringMVC使用DispatcherServlet.Filter是一种特殊的Servlet

Servlet编程基础概述-MVC控制层

要介绍Servlet有一大堆的文字,相信有的朋友像我一样讨厌看很多文字,我长话短说: 大家有没有总结过,我们用JavaBean编程是实现了把Java代码和JSP文件的HTML代码分开了,但是:我们在Java代码中不能使用JSP内置对象,也就是JavaBean不能使用request.response等对象来接收和传递页面信息,只能实现简单的静态功能. Servlet就是一个可以动态引用request.response...的Java类,和JAVABEAN一样运行在服务器端.我们称之为中间控制层(C