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

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” –>下一步。

    JSF-FEAT-01

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

    JSF-FEAT-02

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

    JSF-FEAT-03

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

    JSF-FEAT-04

  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,然后单击–> 运行 ; 您应该会看到以下内容:

    JSF-FEAT-05

  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 后台参数到页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql odbc ado性能差异_ODBC、OLEDB和ADO之间的关系 ,以及性能比较

学习了.net视频之后&#xff0c;对里面涉及到的数据库连接部分中的一些概念表示很无语。网上很多相关资料&#xff0c;但除了网站不一样外&#xff0c;基本上内容都神一样的一致。现在&#xff0c;我就通过结合看到的一些资料再加上自己的理解试图去解释一下&#xff0c;有不对…

【渝粤题库】陕西师范大学200731 计算机组成原理

《计算机组成原理》作业 一、填空 1&#xff0e;电子数字计算机从1946年诞生至今&#xff0c;按其工艺和器件特点&#xff0c;大致经历了四代变化。第一代从  年开始&#xff1b;第二代从  年开始&#xff1b;第三代从   年开始&#xff0c;采用  &#xff1b;第四代从…

轻松与外来客户进行REST通信

在这个例子中&#xff0c;我们将向您展示如何使用Feign客户端开发一个简单的Spring Boot Application&#xff0c;以使用Weather REST服务。 Spring Boot是基于Java的框架&#xff0c;可简化Web和企业应用程序的构建。 Spring Boot具有嵌入式Tomcat&#xff0c;提供“启动器”…

【渝粤题库】陕西师范大学201701 高等数学(二)作业 (高起本、专升本)

《高等数学(二)》作业 一、填空题 1&#xff0e;点A&#xff08;2&#xff0c;3&#xff0c;-4&#xff09;在第 卦限。 2&#xff0e;设 . 3&#xff0e;函数 。 4&#xff0e;设 。 5&#xff0e;设共域D由直线所围成&#xff0c;则将二重积分化为累次积分得 。 6&#xff0e…

【渝粤题库】陕西师范大学202101 公共政策学

《公共政策学》作业 一、单项选择题 1、“公共政策是对全社会的价值做有权威的分配”&#xff0c;提出这一命题的学者是&#xff08;  &#xff09; A拉斯韦尔    B伊斯顿       C戴伊       D安德森 2、美国学者林德布洛姆提出的公共政策模型是&#xff08;  …

unzip不能解压mysql的zip_Linux中zip压缩和unzip解压缩命令详解

1、把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩mydata目录2、把/home目录下面的mydata.zip解压到mydatabak目录里面unzip mydata.zip -d mydatabak3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zipzip -r abc123.zip abc 123.txt4、…

【渝粤题库】陕西师范大学202891 基于web的程序设计

填空题 1、执行完a"6"语句后&#xff0c;a是 类型。 2、程序段 <% a3 aa5 %> 执行完毕后a的值是 。 3、VBSCRIPT函数 可以将数值转换为字符串。 4、Mid&#xff08;“八千里路云和月”&#xff0c;3&#xff0c;2&#xff09;的返回值是什么&#xff1f; 5、Se…

通过Spring Boot了解H2 InMemory数据库

介绍 基本上&#xff0c;数据库设置涉及几个步骤&#xff0c;然后才能在应用程序中通过已配置的数据源使用它。 在实际项目实施中&#xff0c;这实际上是必需的。 但是&#xff0c;在某些情况下&#xff0c;我们只需要为某些事情完成POC&#xff0c;而整个数据库设置工作仍然是…

【渝粤题库】陕西师范大学210004幼儿园美术教育作业(高起专)

《幼儿园美术教育》作业 一、名词解释题 1、美术 2、曼陀罗 3、艺术 4、表现目标 5、意愿画 6、DBAE 7、夸张式表现 8、最近发展区 9、自由画 10、情节画 11、雕塑 12、艺术起源理论“巫术论” 13、儿童美术 14、物体画 15、工艺美术 16、过程目标 二、简答题 1、简述里德的艺术…

core identity mysql_Microsoft.AspNetCore.Identity 使用 mysql 报错处理

1.使用mysql 首先要确定mysql connector 支的版本&#xff0c;正面是链接https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.htmlTable 9.2 Supported versions of Entity Framework CoreConnector/NETEF Core 1.1EF Core 2.0EF Core 2.16.10.4.…

【渝粤题库】陕西师范大学291003综合英语(三)作业(高起专、高起本)

《综合英语三》作业 Matching. Read the following words and match them with the explanations in the right column. ( ) 1. inaudible A. to talk proudly ( ) 2. fragrance B. angry ( ) 3. boast C. the quality of being new ( ) 4. survive D. easily seen; standing o…

【渝粤题库】陕西师范大学300005 中国历史文选

《中国历史文选》作业 一、解释下列句子中黑体加线的字或词 1&#xff0e;三月丙午&#xff0c;入曹。数之&#xff0c;以其不用僖负羁而乘轩者三百人也&#xff0c;且曰&#xff1a;“献状。” 2&#xff0e;微楚之惠不及此&#xff0c;退三舍辟之&#xff0c;所以报也。 3&am…

mysql 数据路由_node-路由操作mysql数据库

node大部分方法都是异步的&#xff0c;在操作数据库方法后面紧接着输出结果&#xff0c;输出的结果只会为空值&#xff0c;使用promise及其方便的解决这个问题&#xff0c;接下来看看node如何使用路由来处理不同请求&#xff0c;进而操作mysql数据库一、引入相关依赖node中默认…

行为设计模式:中介者

以前我们看过迭代器模式。 中介者模式在实现目标上有很大的不同。 它是行为模式之一&#xff0c;其目的是改变对象之间的通信方式。 中介器将代替对象之间的直接通信&#xff0c;而不是直接相互通信。 例如&#xff0c;想象一下金融交易的场景。 您确实想交易和购买&#xff…

【渝粤题库】陕西师范大学500006 算法语言 作业

《算法语言》作业 一、填空题 1、13/2的运算结果为 &#xff0c;’A’2的运算结果是 。 2、C 语言源程序需经过 、 两个过程生成可执行文件。 3、如果表示16进制常量45&#xff0c;在C 中应写为 。 4、C中变量从其作用域上分为 、 5、表达式X12的值为 。 6、3(12>0)的值为 。…

mysql多数据源事务_多数据源一致性事务解决方案

spring 多数据源配置spring 多数据源配置一般有两种方案&#xff1a;1、在spring项目启动的时候直接配置两个不同的数据源&#xff0c;不同的sessionFactory。在dao 层根据不同业务自行选择使用哪个数据源的session来操作。2、配置多个不同的数据源&#xff0c;使用一个session…

【渝粤题库】陕西师范大学700009 现代生物科技

《现代生物技术》作业 一.名词解释 1.生物技术 2.愈伤组织 3.前体 4.cDNA文库 5.化学酶工程 6.酶分子修饰 7.连续培养 8.DNA芯片 9.细胞融合 10.基因工程载体 11.蛋白质工程 12微生物转化 13.人工种子 14.胚胎移植 15.初级代谢产物 16.动物克隆技术 17、限制性内切酶 18、细胞全…

www.how2j.com_HOW-TO:快速开始使用Spring 4.0,以构建简单的REST-Like API(演练)

www.how2j.comHOW-TO&#xff1a;快速开始使用Spring 4.0&#xff0c;以构建简单的REST-Like API&#xff08;演练&#xff09; 关于使用Spring MVC创建Web API的另一篇教程。 不太复杂。 只是一个演练。 生成的应用程序将提供简单的API&#xff0c;将Mongo作为其持久性&#x…

【渝粤题库】国家开放大学2021春3938管理英语2题目

试卷代号&#xff1a;3938 2 0 2 1年春季学期期末统一考试 管理英语2 试题 2021年7月 注 意 事 项 一、将你的学号、姓名及分校&#xff08;工作站&#xff09;名称填写在答题纸的规定栏内。考试结束后&#xff0c;把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人…

flutter 返回指定界面_Flutter页面路由导航及传参

转载请注明出处: https://learnandfish.com/概述 每个应用都有很多个页面&#xff0c;在flutter中同样也有很多页面&#xff0c;被称之为路由(Router)&#xff0c;页面之间的跳转通过导航器(Navigator)进行管理。其中 Navigator.push 和 Navigator.pop 是最简单的跳转到新页面和…