JSF 的组件和组件树的概念非常好,可以完全通过JAVA代码实现的组件的生成与设置方法等操作.尤其是JSF1.2提供了更多的组件的Binding方法.下面就实际做一个例子.
首先在managedBean中创建组件
1、创建按钮
private HtmlCommandButton button = new HtmlCommandButton();
public HtmlCommandButton getButton() {
button.setValue("button"); //设置按钮上显示的值
FacesContext context = FacesContext.getCurrentInstance();
ELContext elContext = context.getELContext();
ExpressionFactory ef = context.getApplication().getExpressionFactory();
Class[] c = new Class[0];
// c[0] = ActionEvent.class; //此处想调用一个带参数的方法,没有成功
MethodExpression me = ef.createMethodExpression(elContext,
"#{testBean.testEl}", Void.TYPE, c);
button.setActionExpression(me); //为钮加入一个响应的方法,这种方法是JSF1.2方式的
return button;
}
//在运行时被调用的方式,同前面的方法绑定中的EL表达是一致的.
public void testEl() {
System.out.println("testEl method is run no param");
}
在JSP页面中加入按钮.(testBean是在FacesConfig.xml中声明的上的bean)
<h:commandButton binding="#{testBean.button }"/>
2、创建表格
private HtmlPanelGrid grid = new HtmlPanelGrid();
public HtmlPanelGrid getGrid() {
List list = grid.getChildren();//取得表格的列表
list.add(getHtmlInputText());//向表格列表加入组件
System.out.println("grid column " + grid.getColumns());
return grid;
}
public HtmlInputText getHtmlInputText() {
htmlInputText.setValue("abcc");//这里直接设置值了,可以通过expressionFactory.createValueExpression(elContext, "#{testBean.userid}", String.class);来设置值表达式
htmlInputText.setAlt("alt htmlInputText ");
htmlInputText.setConverter(new TestConve());//为输入框设置转换器
return htmlInputText;
}
在JSP中加入下面代码:
<h:panelGrid binding="#{testBean.grid }"/>
就可以在表格内显示一个输入框了。
分享到:
相关推荐
下面我们将详细探讨JSF动态创建表单控件的概念、实现方法以及相关的实例。 1. **JSF控件基础**: JSF中的控件通常由UIComponent、UIInput和UICommand等接口实现,它们代表了HTML元素,如文本框、按钮等。这些控件...
在JSF(JavaServer Faces)框架中,动态创建按钮并绑定事件是一项常见的需求,尤其是在构建交互性强、可自定义的用户界面时。JSF提供了一种灵活的方式,允许开发者在运行时根据业务逻辑生成和管理组件,包括按钮。...
这个"JSF(动态操作组件的例子)"项目是为开发者提供一个实践JSF动态操作组件的实例,帮助理解如何在JSF应用中创建、修改和删除组件。下面将详细介绍JSF的核心概念以及动态操作组件的相关知识点。 1. **JSF框架概述**...
### 使用JSF页面动态创建表格 #### 背景与目的 在开发Web应用程序时,经常需要根据不同的数据集或用户操作动态生成表格。JavaServer Faces(简称JSF)是一种用于构建服务器端Java应用程序的标准技术,它允许开发者...
JSF允许开发者创建自定义组件,以满足特定需求。你可以通过继承`UIComponent`并实现必要的生命周期方法来构建一个分页组件。这个组件可以包含页码选择器和导航按钮,同时需要与后端数据模型进行交互,以实现分页逻辑...
它提供了一种声明式的方式来创建用户界面,其中JSF组件树是其核心概念。JSF组件树是由多个组件构成的层次结构,这些组件可以是HTML元素、自定义组件或者其他复杂的UI结构。在JSF生命周期中,组件树扮演着至关重要的...
JSF标签是用于构建用户界面的XML元素,它们简化了UI组件的创建和管理。这些标签通常与特定的JSF组件关联,例如`h:inputText`用于创建输入字段,`h:commandButton`用于定义一个按钮。JSF标签分为核心标签和富Faces...
JavaServer Faces (JSF) 是一个为简化企业级Java Web应用程序创建而设计的标准组件框架。它不仅提供了强大的模型-视图-控制器(MVC)架构,还引入了一系列标准UI组件,使得开发者能够更高效地构建动态网页。本篇文章...
### JSF自定义组件知识点详解 #### 一、JSF生命周期与组件概述 **1.1 JSF生命周期** ...总之,通过深入理解JSF的生命周期、组件组成以及自定义组件的具体实现过程,开发者可以更灵活地构建出符合需求的动态Web应用。
在JavaServer Faces (JSF) 框架中,动态...总的来说,这个JSF动态数据的三级级联示例展示了如何结合Java后端、数据库和JSF框架,构建一个动态响应的Web界面。理解并掌握这个过程对于提升Java Web开发技能非常有帮助。
综上所述,"JSF组件开发.rar"中的内容可能涵盖了JSF组件的各个方面,从基础概念到实际开发技巧,帮助开发者深入理解和掌握JSF组件的创建和使用。如果你正在学习或工作中涉及到JSF,这个资源将是一份宝贵的参考资料。
**JSF动态分页技术详解** JavaServer Faces (JSF) 是Java EE平台中的一个用于构建用户界面的组件模型框架,它提供了一种基于组件的方式来创建Web应用。在大型数据展示场景中,分页是必不可少的功能,它可以提高用户...
JSF提供了一种声明式的组件化编程模型,使得开发者能够更加高效地构建动态网页。在JSF中,客户端发送的请求和服务器端的处理遵循一个特定的生命周期流程,这个流程对于理解JSF应用程序的行为至关重要。 JSF生命周期...
JSF实例提供了实践操作的机会,帮助开发者深入理解如何使用JSF和JSP创建Web应用程序。通过PPT演示,你可以学习到JSF的关键特性、组件用法以及与JSP的集成方式,这对于提升你的Java Web开发技能大有裨益。记得在实践...
这些组件可以通过属性和绑定来配置,允许开发者在页面上动态地创建和操作用户界面。 **事件处理**:JSF支持事件处理机制,允许组件之间通信。当用户触发一个事件(如点击按钮),对应的事件处理器会被调用,这使得...
JSF提供了组件库,使得创建动态、交互式的网页变得简单。 在“jsf第一个例子”中,我们通常会遇到以下关键概念: 1. **JSF生命周期**:JSF有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用...
JSF的自定义组件机制使得开发人员可以根据需要创建自定义的JSF组件。这使得JSF组件更加灵活和可扩展。 JSF的国际化和本地化 JSF的国际化和本地化机制提供了一种国际化和本地化的解决方案,使得开发人员可以轻松地...
Sun的J2EE教程专门有一部分讲解了如何创建JSF组件。本文将从以下几个步骤深入探讨: 步骤1:构建组件骨架 在编写自定义JSF组件时,第一步是构建组件的骨架。这涉及到确定组件的基本结构,包括其命名空间、标记名称...
在本资源包“第2部分-动态JSF表单(CSS、JavaScript和JSF联合打造 Ajax应用程序)”中,我们深入探讨了如何利用这三种技术来创建动态、交互式的Web应用程序。这一部分着重于Ajax(异步JavaScript和XML)的应用,通过...
JSF是一个MVC(Model-View-Controller)框架,它简化了创建和维护动态Web页面的过程。JSF提供了组件模型,允许开发者使用预定义的UI组件来构建用户界面,这些组件可以方便地在服务器端处理用户交互。 **2. JSF架构*...