jsf 后台参数到页面

其中一个JSF 2+不错的特点出现在Java企业版的JavaEE 6 +,是你可以传递参数给喜欢的commandButtoncommandLink组件的任何动作元件操作方法。


基于此,您可以最小化托管bean中的方法数量。

另外,为了最小化在bean内部设置的许多参数,动作可以使用这些参数来决定导航逻辑,如果您的bean的作用域大于请求作用域,则可以减少内存消耗。

这个怎么运作:

  1. 打开您最喜欢的IDE,我将使用Netbeans 7.4.1 。 (使用任何支持JavaEE 6或7的IDE)。
  2. 创建Web项目。
    文件–>新建项目–> Java Web(左窗格) –> Web应用程序(右窗格) –>下一步。
  3. 随便命名(对我来说就是JSFeatures–>下一步–>服务器Glassfish4 –> Java EE 7 Web配置文件–>上下文路径“ / JSFeatures” –>下一步。

  4. 从框架中选择“ Java Server Faces-> Finish。

  5. 您应该具有以下项目结构:

  6. 右键单击JSFeatures项目->新的“ JSF Managed Bean ”。 及其名称和配置如下:

  7. 在编辑器页面中打开bean的情况下,将以下代码复制并粘贴到package语句之后:
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.RequestScoped;/*** @author mohamed_taman*/
    @ManagedBean(name = "jSFeatBean")
    @RequestScoped
    public class JSFeatursBean {private String result;public String getResult() {return result;}public void setResult(String result) {this.result = result;}public JSFeatursBean() {}public Object addNumbers(int num1,int num2) {setResult("Hi there I am an action method to add numbers.");return null;}
    }
  8. 打开默认生成的index.xhtml ,然后复制以下代码并将其粘贴到文件中:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"><h:head><title>Facelet Title</title></h:head><h:body>Hello from Facelets<h:form><p><h:outputText value="#{jSFeatBean.result}"/></p>
    <h:commandButton type="submit"value="Submit"action="#{jSFeatBean.addNumbers}"/></h:form></h:body>
    </html>
  9. 右键单击index.xhtml,然后单击–> 运行 ; 您应该会看到以下内容:

  10. 单击提交按钮,观察h:outputText值,其值应为“ Hi,我是一个操作方法。
  11. 现在一切正常。 让我们做我需要演示的实际工作。
  12. addNumbers()方法签名更改为以下内容( 无需重新启动应用程序服务器 ):
    1. Bean方法:

      public Object addNumbers(int num1) {int res = 0;res = num1;if (res == 0) {setResult("Hi there I am an action method to add numbers.");} else {setResult("Final result is: " + res);}return null;}
    2. 然后,您的按钮呼叫到:
      <h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1)}"/>
    3. 按下按钮,输出文本值应为:
      Final result is: 1
  13. 再做一次:
    1. Bean方法:

      public Object addNumbers(int num1, int num2) {int res = 0;res = num1 + num2;if (res == 0) {setResult("Hi there I am an action method to add numbers.");} else {setResult("Final result is: " + res);}return null;}
    2. 然后,您的按钮呼叫到:
      <h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1,2)}"/>
    3. 按下按钮,输出文本值应为:
      Final result is: 3

注意:该参数可能具有不同的参数类型,但预计不会是同一类型,该方法也可能返回用于导航到其他页面的值,在此示例中,该参数返回null表示在同一页面上。

我非常喜欢此功能,非常有用,方便,编码愉快。

资源:

  • JavaEE 7教程(7.5导航模型)。
参考: JSF:直接从页面将参数传递给JSF动作方法,这是我们的JCG合作伙伴 Mohamed Taman在“ 通过科学和艺术改善生活”博客上的JavaEE 6+的一项不错功能 。

翻译自: https://www.javacodegeeks.com/2014/01/jsf-passing-parameters-to-jsf-action-methods-from-page-directly-a-nice-feature-of-javaee-6.html

jsf 后台参数到页面

jsf 后台参数到页面_JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能...相关推荐

  1. JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能

    Java企业版JavaEE 6+中提供的JSF 2+的一项不错的功能是,您可以将参数传递给任何操作组件(例如commandButton或commandLink组件)的操作方法. 基于此,您可以最大程度 ...

  2. jsf刷新页面_JSF页面生命周期管理

    jsf刷新页面 When the user requests for a page, the lifecycle of JSF begins. JavaServer faces builds the ...

  3. aspx后台调用前台jquery_Jquery Ajax调用aspx页面方法

    在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过aspx.cs中的静态方法+WebMethod进 ...

  4. layui跳转html如何带参数,Layui跳转页面代码(可携带复杂参数)

    今天用了Layui的"数据表格 - 数据操作"示例代码,结果发现点击"编辑"按钮出出来一个弹出消息框,效果如下: 虽然说也可以用"弹出层"做 ...

  5. 从前台页面取参数到sql的like中比较时参数的预处理

    //从前台页面取参数到sql的like中比较时参数的预处理 this.keytxt.Text.Trim().Replace("'", "''").Replace ...

  6. php 输出带参数整个html页面,如何在PHP页面中原样输出HTML代码(是该找本php的数来看了)...

    如何在PHP页面中原样输出HTML代码(是该找本php的数来看了) 一.总结 一句话总结:字符串与HTML之间的相互转换主要应用htmlentities()函数来完成. 1.php中的html标签如何 ...

  7. 【报错笔记】在maven项目中jsp页面使用window.location.href给controller传参时参数过长所以路径无法跳转至controller

    在maven项目中jsp页面使用window.location.href给controller传参时参数过长所以路径无法跳转至controller 解决方案:使用a链接来用

  8. tp5 前台页面获取url链接里的参数,如下

    tp5 前台页面获取url链接里的参数,如下 {:$_GET['num']} {:isset($_GET['num'])?$_GET['num']:'0';}

  9. php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...

    我想实现一个checkbox选中文本框批量删除的效果,于是用jq的post方法提交数据到php后台,后台在处理删除操作之后,想用重定向功能显示删除成功的页面,结果发现页面不会动,刷新一下表单里面的数据 ...

最新文章

  1. jqgrid如何渲染表格数据_jqgrid,jquery_jqGrid pivot 增加分项小计,jqgrid,jquery,jquery插件,javascript,表格 - phpStudy...
  2. chrome 适配调试_移动端适配
  3. 【数据结构与算法】之深入解析“二叉树的层序遍历II”的求解思路与算法示例
  4. 【SRX】RE与PFE策略不同步,导致Commit失败-----案例分析
  5. django21:admin后台管理\media配置\图片防盗链\暴露后端资源\路由分发\时间分类
  6. 带有Swagger的Spring Rest API –公开文档
  7. 那些中国式家庭的小烦恼,我看用AI来解决就“都挺好” | 技术头条
  8. AJAX 信息查询管理
  9. 【C++面向对象】类的数据成员:绑定、布局和存取
  10. ~~Kruskal算法
  11. Kafka 副本leader选举
  12. 图像/视频超分之BackProjection
  13. xp系统设置锁定计算机,XP系统电脑如何设置自动锁屏?
  14. aspectjweaver AspectJ
  15. 怎么让图片铺满手机屏幕_手机版Photoshop怎么把图片铺满屏幕?
  16. 增长黑客手册——03
  17. 收集LOGO生成网站(持续更新)
  18. 北京圣思园_Java SE Lesson 11
  19. 关于JavaScript的模块(CommonJS, AMD, CMD, ES6模块)的理解
  20. mysql双主架构沈剑_58 沈剑 - 数据库架构师做什么-58同城数据库架构设计思路

热门文章

  1. 【线段树】开关(luogu 3870)
  2. codeforces 877F F. Ann and Books hash+莫队算法
  3. Linux下查找命令
  4. 关于Icon,Image,ImageIcon的简单的对比参考 上篇
  5. 动态代理proxy与CGLib的区别
  6. Spring Boot整合Thymeleaf模板引擎
  7. 使用C#操作XML文件
  8. MyBatisPlus分页
  9. Eureka服务注册中心---SpringCloud
  10. android 监听安装来源_Flutter插件开发之APK自动安装