jsf 后台参数到页面_JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能...
jsf 后台参数到页面
其中一个JSF 2+不错的特点出现在Java企业版的JavaEE 6 +,是你可以传递参数给喜欢的commandButton和commandLink组件的任何动作元件操作方法。
基于此,您可以最小化托管bean中的方法数量。另外,为了最小化在bean内部设置的许多参数,动作可以使用这些参数来决定导航逻辑,如果您的bean的作用域大于请求作用域,则可以减少内存消耗。
这个怎么运作:
- 打开您最喜欢的IDE,我将使用Netbeans 7.4.1 。 (使用任何支持JavaEE 6或7的IDE)。
- 创建Web项目。
文件–>新建项目–> Java Web(左窗格) –> Web应用程序(右窗格) –>下一步。 - 随便命名(对我来说就是JSFeatures ) –>下一步–>服务器Glassfish4 –> Java EE 7 Web配置文件–>上下文路径“ / JSFeatures” –>下一步。
- 从框架中选择“ Java Server Faces ” -> Finish。
- 您应该具有以下项目结构:
- 右键单击JSFeatures项目->新的“ JSF Managed Bean ”。 及其名称和配置如下:
- 在编辑器页面中打开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;} }
- 打开默认生成的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>
- 右键单击index.xhtml,然后单击–> 运行 ; 您应该会看到以下内容:
- 单击提交按钮,观察h:outputText值,其值应为“ Hi,我是一个操作方法。 “
- 现在一切正常。 让我们做我需要演示的实际工作。
- 将addNumbers()方法签名更改为以下内容( 无需重新启动应用程序服务器 ):
- 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;}
- 然后,您的按钮呼叫到:
<h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1)}"/>
- 按下按钮,输出文本值应为:
Final result is: 1
- Bean方法:
- 再做一次:
- 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;}
- 然后,您的按钮呼叫到:
<h:commandButton type="submit"value="Submit" action="#{jSFeatBean.addNumbers(1,2)}"/>
- 按下按钮,输出文本值应为:
Final result is: 3
- Bean方法:
注意:该参数可能具有不同的参数类型,但预计不会是同一类型,该方法也可能返回用于导航到其他页面的值,在此示例中,该参数返回null表示在同一页面上。
我非常喜欢此功能,非常有用,方便,编码愉快。
资源:
- JavaEE 7教程(7.5导航模型)。
翻译自: 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+的一个不错的功能...相关推荐
- JSF:直接从页面将参数传递给JSF操作方法,这是JavaEE 6+的一个不错的功能
Java企业版JavaEE 6+中提供的JSF 2+的一项不错的功能是,您可以将参数传递给任何操作组件(例如commandButton或commandLink组件)的操作方法. 基于此,您可以最大程度 ...
- jsf刷新页面_JSF页面生命周期管理
jsf刷新页面 When the user requests for a page, the lifecycle of JSF begins. JavaServer faces builds the ...
- aspx后台调用前台jquery_Jquery Ajax调用aspx页面方法
在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过aspx.cs中的静态方法+WebMethod进 ...
- layui跳转html如何带参数,Layui跳转页面代码(可携带复杂参数)
今天用了Layui的"数据表格 - 数据操作"示例代码,结果发现点击"编辑"按钮出出来一个弹出消息框,效果如下: 虽然说也可以用"弹出层"做 ...
- 从前台页面取参数到sql的like中比较时参数的预处理
//从前台页面取参数到sql的like中比较时参数的预处理 this.keytxt.Text.Trim().Replace("'", "''").Replace ...
- php 输出带参数整个html页面,如何在PHP页面中原样输出HTML代码(是该找本php的数来看了)...
如何在PHP页面中原样输出HTML代码(是该找本php的数来看了) 一.总结 一句话总结:字符串与HTML之间的相互转换主要应用htmlentities()函数来完成. 1.php中的html标签如何 ...
- 【报错笔记】在maven项目中jsp页面使用window.location.href给controller传参时参数过长所以路径无法跳转至controller
在maven项目中jsp页面使用window.location.href给controller传参时参数过长所以路径无法跳转至controller 解决方案:使用a链接来用
- tp5 前台页面获取url链接里的参数,如下
tp5 前台页面获取url链接里的参数,如下 {:$_GET['num']} {:isset($_GET['num'])?$_GET['num']:'0';}
- php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...
我想实现一个checkbox选中文本框批量删除的效果,于是用jq的post方法提交数据到php后台,后台在处理删除操作之后,想用重定向功能显示删除成功的页面,结果发现页面不会动,刷新一下表单里面的数据 ...
最新文章
- jqgrid如何渲染表格数据_jqgrid,jquery_jqGrid pivot 增加分项小计,jqgrid,jquery,jquery插件,javascript,表格 - phpStudy...
- chrome 适配调试_移动端适配
- 【数据结构与算法】之深入解析“二叉树的层序遍历II”的求解思路与算法示例
- 【SRX】RE与PFE策略不同步,导致Commit失败-----案例分析
- django21:admin后台管理\media配置\图片防盗链\暴露后端资源\路由分发\时间分类
- 带有Swagger的Spring Rest API –公开文档
- 那些中国式家庭的小烦恼,我看用AI来解决就“都挺好” | 技术头条
- AJAX 信息查询管理
- 【C++面向对象】类的数据成员:绑定、布局和存取
- ~~Kruskal算法
- Kafka 副本leader选举
- 图像/视频超分之BackProjection
- xp系统设置锁定计算机,XP系统电脑如何设置自动锁屏?
- aspectjweaver AspectJ
- 怎么让图片铺满手机屏幕_手机版Photoshop怎么把图片铺满屏幕?
- 增长黑客手册——03
- 收集LOGO生成网站(持续更新)
- 北京圣思园_Java SE Lesson 11
- 关于JavaScript的模块(CommonJS, AMD, CMD, ES6模块)的理解
- mysql双主架构沈剑_58 沈剑 - 数据库架构师做什么-58同城数据库架构设计思路