`
glacier3
  • 浏览: 384829 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JSF中UI控件binding属性的用法

阅读更多

以下内容为我在CSDN上转载的,版权归属原作者!   

在.Net中,binding是个十分容易理解的东西,但最近学习JSF,总理解不了binding属性的用法,查了一些资料,都是简单的说明,对这个属性没有什么例子。今天星期天,没事来到公司,突然对这个属性领悟了,觉得特别高兴。等我理解后,觉得这个属性是十分简单的,没理解之前,隔层窗户纸,总那么朦朦胧胧的。现在把这个小例子写出来,以做备忘。

index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsf/core" %>
<html>
<head>
<title>
Simple jsp page
</title>
</head>  

<body>
<c:view>
<c:loadBundle basename="jsfResource" var="msg"></c:loadBundle>
<h:form>
<h:outputText value="#{msg.username}"></h:outputText> :
<h:inputText value="" binding="#{Backing.txtComponentInput}"></h:inputText>
<br>
<h:commandButton value="#{msg.btnSubmit}" actionListener="#{Backing.listen}"></h:commandButton>
</h:form>
</c:view>
</body>
</html>

index.jsp文件说明,16行就是binding绑定,18行是action事件。其实binding就是把控件的实例以属性的形式存储到bean里面,便于其他函数或方法操作这个控件。在.Net中,每个服务器控件就相当于一个类,服务器控件的属性就是类中的属性。程序编写人员对控件value,color等属性的操作其实就是对类中属性的操作(理解不正确之处,望给予斧正)。这里,JSF的思想和.Net是一致的。把控件的以实例的形式放到bean中,这样就可以用程序随意操作这个控件的各个属性了。

BackingBean.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 
24
25
26
27
28
29
30
31 
import javax.faces.component.UIInput;
import javax.faces.event.ActionEvent;
import javax.faces.context.FacesContext;  

/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2006-1-15
* Time: 10:02:59
* To change this template use File | Settings | File Templates.
*/
public class BackingBean {
UIInput txtComponentInput;

public UIInput getTxtComponentInput() {
return txtComponentInput;
}

public void setTxtComponentInput(UIInput txtComponentInput) {
this.txtComponentInput = txtComponentInput;
}

public void listen(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
txtComponentInput.setValue("@@@@@@");
txtComponentInput.setRendered(true);
System.out.println(e.getComponent().getClientId(context));
}
}


BackingBean.java文件说明:主要是27,28行,其意思是当按钮的action事件触发后,就控件txtComponentInput进行操作,这里,我只是对Value和Rendered两个属性进行了操作,当然可以对其他属性进行随意操纵。这里的txtComponentInput其实就是<h:inputText value="" binding="#{Backing.txtComponentInput}"></h:inputText>,把此控件绑定到bean中,便于用程序对其进行动态控制。

faces-config.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, 
Inc.//DTD JavaServer Faces Config 1.0//EN" 
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>Backing</managed-bean-name>
<managed-bean-class>BackingBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>

faces-config.xml文件大家一看就是知道意思,就不多说了。
下面是运行截图.(当点击Submit按钮时,input被负值@@@@@@)

分享到:
评论
12 楼 蒲公英的约定 2013-08-10  
其實也可以通過尋找id來得到組建,不過還是綁定方便得多。不知道jsf能否在後臺去執行js函數
11 楼 蒲公英的约定 2013-08-10  
10 楼 heihay 2011-03-01  
有茅塞顿开之感,也应用到了项目当中
为了表示感谢,特地完成了测验留言^_^
9 楼 glacier3 2010-07-22  
我很久没有研究jsf了,这个都是在学校的时候开发一个项目的时候转载的。
8 楼 lucky16 2010-07-22  
最近在学习JSF,在参数的传递上就是对BackingBean不明白, 在网上搜索了一下也没有发现有价值的文章,你这篇文章很好,虽然是转载的,但是对理解BackingBean的作用很有帮助,现在已经理解了BackingBean的作用和用法了,呵呵
谢谢了!
如果楼主有时间,可以写写JSF的生命周期的问题,比如managed-bean的,呵呵,个人之见,有错误的地方还指正!
7 楼 成溪先生 2009-10-30  
如果是outputText 绑定到后台,并且页面还添加了验证,点击按钮,不能通过验证,该outputText 的值还能显示么?
6 楼 Doris_Dong 2009-03-16  
很好
5 楼 yourkenyang 2009-01-08  
4 楼 liuzchao 2008-10-20  
 
3 楼 liveman8988 2008-04-23  
2 楼 tiana4002 2007-10-28  
好,好,非常的好!!!
1 楼 tiana4002 2007-10-28  
好,好,非常好!!

相关推荐

    编写JSF用户自定义UI组件(之五)

    6. **组件的使用**:在JSF页面中,通过 `&lt;cc:component&gt;` 或 `&lt;mynamespace:componentName&gt;` 标签引用自定义组件,并设置相应的属性值。 7. **测试和调试**:创建自定义组件后,需要在实际应用中测试其功能,确保...

    JSF控件详细说明

    1. **数据绑定**:JSF控件通常与后台bean的属性进行双向数据绑定,确保UI状态与模型同步。 2. **EL表达式**:JSF使用Expression Language (EL)来引用bean属性和方法。 3. **国际化**:JSF支持国际化的标签和属性,如...

    jsf常用控件的使用

    本文将深入探讨JSF中的一些常见控件及其使用方法,旨在帮助开发者更好地理解和应用这些控件。 1. **输入控件**: - `h:inputText`:用于创建简单的文本输入字段,可以与Bean中的属性绑定,处理用户输入的数据。 -...

    JSF日历控件

    在JSF中,开发者可以使用各种预定义的UI组件,包括日历控件,来简化前端用户界面的开发。这个控件允许用户选择日期,通常在需要输入日期的表单中非常有用。 **1. JSF日历组件的引入** JSF的日历组件通常由一个特定...

    JSF UI 组件详解

    ### JSF UI组件详解 #### 一、引言 JavaServer Faces (JSF) 是一个为简化企业级Java Web应用程序创建而设计的标准组件框架。它不仅提供了强大的模型-视图-控制器(MVC)架构,还引入了一系列标准UI组件,使得开发者...

    jsf动态创建表单控件实例.

    - **后台生成**:在JSF Managed Bean中,可以使用Java代码动态创建UIComponent实例,并设置其属性,然后添加到组件树中。 - **EL表达式**:使用Expression Language (EL)动态生成JSF标签,例如通过循环结构创建一...

    jsf 控件说明(很好)

    首先,JSF的核心标记库(core taglib)通过引入`&lt;%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;`提供了一系列与UI元件处理相关的标记。这些标记主要用于注册事件监听器和验证器,如`&lt;f:event&gt;`和`...

    IBM-JSF数据树控件(工具RAD7)项目交换

    在本项目交换中,我们关注的是如何在IBM RAD7中使用JSF(JavaServer Faces)技术来构建数据树控件,以及如何在WebSphere 6.0服务器上进行部署和运行。 JavaServer Faces(JSF)是一种用于构建用户界面的Java标准,...

    JSF标签(简体中文版,可作为jsf的UI设计人员的参考指南)

    JSF标签共享一些通用属性,如`id`用于唯一标识组件,`binding`可以将组件绑定到一个`UIComponent`实例,`rendered`决定组件是否在页面上渲染,`styleClass`用于设置CSS样式,`value`用于设置或绑定组件的值,`...

    JSF1.2日历组件

    2. **自定义组件开发**:在JSF 1.2中,开发者可以通过实现UIComponent接口并重写必要的方法来创建自定义组件。组件需要定义属性、事件处理和渲染逻辑。此外,还需要提供一个对应的标签库描述文件(TLD或XML)以便在...

    JSF UI API 教程

    在"JSF UI API 教程"中,我们将深入探讨JSF的核心概念、UI组件以及API的使用。 1. **JSF架构** JSF的核心架构基于组件模型,其中每个用户界面元素都是一个可重用的组件。这些组件可以是简单的HTML元素,如按钮和...

    jsf 控件速查手册

    jsf 控件速查手册,html格式。jsf标签使用培训教程。新手速查教程!

    JSF分页控件 ,支持大容量可查询分页

    "JSF分页控件" 可能是基于某个特定的JSF库,比如PrimeFaces中的`p:datascroller`或`p:paginator`,或者自定义的组件。这些控件通常包含向前、向后、首页、末页等导航按钮,以及显示当前页数和总页数的选项。 描述中...

    JSF中文教程jsf

    在JSF中,**组件** 是UI的基础元素,如按钮、文本输入框等。这些组件可以通过XML(Facelets)或JSP页面进行声明,并且可以组合成更复杂的视图结构。**Facelets** 是JSF推荐的视图定义语言,它比JSP更强大,更易于...

    JSF-UIREPEAT

    **JSF(JavaServer Faces)** 是一个Java平台上的Web应用...通过理解和实践源代码,你可以掌握如何在JSF应用程序中有效地使用UIRepeat,以及如何构建动态、数据驱动的用户界面。这将对你的Web开发技能有着显著的提升。

    JSF中文教程.zip

    开发者可以定义Bean的属性、方法,并通过EL在Facelets视图中使用。 6. **生命周期**:JSF有七个阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用、渲染响应和结束请求。每个阶段都有特定的任务,...

    JSF控件详细参考手册

    ### JSF控件详细参考手册 #### 概述 本文档旨在为BIMP平台开发者提供一个全面且深入的JSF Facelets标签集参考指南。通过详细介绍这些标签的用途与用法,帮助开发者更好地掌握和利用这些工具来提高Web应用的质量与...

    精通JSF中文教程精通JSF中文教程

    EL是一种简洁的脚本语言,用于在JSF中获取和设置Managed Beans的属性值。它允许在JSF视图中直接引用后台Bean的属性,简化了数据绑定的过程。 **6. 视图和导航** JSF的视图通常由Facelets文件(.xhtml)组成,它们...

    jsf中文使用教程jsf中文使用教程

    5. **国际化支持**:JSF支持多语言,这在“JSF中文使用教程”中可能包含如何设置和使用中文资源的内容。 **学习JSF的关键概念**: 1. **Facelet**:Facelets是JSF的默认视图技术,用于创建和组织用户界面组件。 2. ...

Global site tag (gtag.js) - Google Analytics