zoukankan      html  css  js  c++  java
  • 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>

      此时可以将一个属性名为id的值传入到a.xhtml中,那么在a.xhtml中,我们可以直接使用#{id}来取得值。不过有时候实际应用中,我们需要在bean中取得这个传递的参数,目前我没有找到一个好的方法,用了一个"障眼法"来达到了这个目的。我的做法是在a.xhtml中使用了一个h:inputHidden标签来存放传递过来的值,然后设置其binding属性,这样就可以在控制层取到控件对象,进而取得它的值。示例代码如下:

      

    1 <h:inputHidden value="#{id}" binding="#{bean.idInput}"/>

    在bean中定义一个UIInput类型的变量idInput,并生成set和get方法。该类型的变量有getValue方法,得到一个Object类型的值。这个就是h:inputHidden中的值了。这样就达到了在bean中取得include标签传递到包含页面的参数了。

  • 相关阅读:
    golang的time包
    golang的defer
    vscode出现卡在setting up workspace loading packages问题
    golang的module管理与使用go mod
    vscode常见插件及使用
    vscode的settings.json配置文件
    vscode的launch.json配置文件
    vscode搭建golang环境
    MacBook初使用
    Git-错误汇总
  • 原文地址:https://www.cnblogs.com/bigbang92/p/4325141.html
Copyright © 2011-2022 走看看