JSF通过超链接传递参数到控制层
JSF通过超链接传输数据到控制层可以分为三个步骤:
1.首先将数据加入到超链接中。通过<h:link>标签加入一个超链接,然后加入<f:param>标签加入参数。示例代码如下:
<h:link outcome="next.xhtml">
跳转
<f:param name="id" value="2"/>
</h:link>
其中name和value会出现在url上,组成类似于"next.xhtml?id=2"这样的key-value形式。
2.跳转后的页面接收数据,next.html可以这样写,示例代码如下:
<f:metadata>
<f:viewParam name="id" value="#{bean.id}" />
<f:event listener="#{bean.init}" type="javax.faces.event.PreRenderViewEvent"></f:event>
</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通过超链接传递参数到控制层的更多相关文章
- 前端传递参数,由于控制器层类实现了struts2的ModelDriven而产生的一个异常
产生的异常如下: ognl.MethodFailedException: Method "setId" failed for object com.aliyun.pcitcAliy ...
- linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数
在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...
- JSF在ui:include中传递参数到对应控制层
在JSF中使用ui:include方法可以引入一个页面到当前页面中,如果要向被包含的页面中传入参数,可以使用ui:param标签,这个标签类似于f:param,只不过一个用于页面,一个用于实际标签.示 ...
- 控制层传递参数到jsp页面,jsp页面进行接收
在java代码中,控制层方法如下(采用model,还有其他方式) public String mysave(MyTreeMould myTreeMould, Model model) {...... ...
- SSH通过超链接传递中文参数出现乱码问题
通过超链接传递中文参数出现乱码问题 tomcat中的server.xml文件中修改如下配置: <Connector port="8080" protocol="HT ...
- MyBatis DAO层传递参数到mapping.xml 几种方式
Dao层传递参数到mapping.xml文件的几种方式:(Mybatis传值总结) 第一种:传递单个参数 Dao层Code片段: /** * 根据articleId查询XXXX详情. * * @par ...
- springboot之json传参(后台控制层如何接收和解析参数)
一般web端都是用form标签的形式进行表单提交到后台,后台控制层再用相应的实体对象去接收前端传来的json参数. 但是有时候前端界面很复杂,要传入后端的参数是各种标签里面的value值,这些值又是来 ...
- 接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转
目录 1.接收的参数为日期类型 2.controller控制层进行数据保存 3.controller层如何进行重定向跳转(因为默认是请求转发) 4.静态资源的映射 1.接收的参数为日期类型 WEB-I ...
- SpringBoot自定义控制层参数解析
一.背景 在Spring的Controller中,我们通过@RequestParam或@RequestBody就可以将请求中的参数映射到控制层具体的参数中,那么这个是怎么实现的呢?如果我现在控制层中的 ...
随机推荐
- Kubernetes StatefulSets
StatefulSets对于需要以下一项或多项的应用程序非常有用. 稳定,唯一的网络标识符. 稳定,持久的存储. 有序,优雅的部署和缩放. 有序,优雅的删除和终止. 有序的自动滚动更新. POD Id ...
- codeforces 439D 思维
题意:两个数组a,b,每次操作可将其中一个数组的一个数字加1或减1,求最小操作次数使得a数组的最小值大于等于b数组的最大值. 思路: 解法一:考虑最终状态,假设a为数组a中最小的数,b为数组b中最大的 ...
- Linux VPS实用简单安全配置
今天,和大家一起来分享VPS最基本的安全配置. 第一.修改SSH端口 VPS默认的SSH端口是22,那些扫描穷举密码的,也势必从22开始,所以,修改22为一个其他的数字,是非常有必要的. 好了,SSH ...
- shell中嵌套执行expect命令实例(利用expect实现自动登录)
expect是 #!/bin/bashpasswd='123456'/usr/bin/expect <<EOFset time 30spawn ssh root@192.168.76.10 ...
- Linux查看文件编码格式及文件编码转换<转>
如果你需要在Linux 中操作windows下的文件 ,那么你可能会经常遇到文件 编码 转换的问题.Windows中默认的文件 格式是GBK(gb2312),而Linux 一般都是UTF-8.下面介绍 ...
- 查找文件【TLCL】
locate locate 执行快速的路径名数据库搜索,输出每个与指定子字符串相匹配的路径名. locate bin/zip locate 命令的数据库是updatedb命令创建的. find loc ...
- java应用线上CPU过高问题排查
1.top 命令,查看占用CPU最高的PID.ps aux|grep PID 进一步确定tomcat进程出现问题.2.ps -mp pid -o THREAD,tid,time显示线程列表3.prin ...
- 免配置环境变量使用Tomcat+设置项目主页路径为http://localhost:8080+修改tomcat端口号
一.免配置jdk JAVA_HOME和tomcat CATALINA_HOME环境变量使用tomcat 众说周知,使用tomcat需要有java环境,一般情况下需要配置jdk和tomcat的路径到w ...
- Spring初学之annotation实现AOP前置通知、后置通知、返回通知、异常通知。
实现两个整数的加减乘除.在执行每个方法之前打印日志. ArithmeticCalculator.java: package spring.aop.impl; public interface Arit ...
- Android Sqlite 批量插入性能优化
db.beginTransaction(); try { for (...) { db.execSQL("...", new Object[]{}); } db.setTransa ...