JSF中UI控件binding属性的用法
2014-11-05 15:08
316 查看
<h:selectOneMenu id="selectMasterLog" value="#{Masterlogs.currentLogOption}" required="true" style="width:12em;margin-left:12px;"
binding="#{Masterlogs.logSelectField}" >
<f:selectItems value="#{Masterlogs.logOptions}" />
<a4j:support id="a4j_selectMasterLog" event="onchange" immediate="true" ajaxSingle="true"
actionListener="#{Masterlogs.masterLogSelect}" reRender="search, errorTable, emergTable, alertTable, infoTable, scroll_1, scroll_2, scroll_3, scroll_4" />
</h:selectOneMenu>
以上代码中,binding="#{Masterlogs.logSelectField}"的意思就是把h:selectOneMenu这个控件赋值给名称为Masterlogs的JavaBean的logSelectField属性,从而能够在Masterlogs这个JavaBean的方法中获取或者操作h:selectOneMenu这个控件的值。
以下内容为我在CSDN上转载的,版权归属原作者!
在.Net中,binding是个十分容易理解的东西,但最近学习JSF,总理解不了binding属性的用法,查了一些资料,都是简单的说明,对这个属性没有什么例子。今天星期天,没事来到公司,突然对这个属性领悟了,觉得特别高兴。等我理解后,觉得这个属性是十分简单的,没理解之前,隔层窗户纸,总那么朦朦胧胧的。现在把这个小例子写出来,以做备忘。
index.jsp
index.jsp文件说明,16行就是binding绑定,18行是action事件。其实binding就是把控件的实例以属性的形式存储到bean里面,便于其他函数或方法操作这个控件。在.Net中,每个服务器控件就相当于一个类,服务器控件的属性就是类中的属性。程序编写人员对控件value,color等属性的操作其实就是对类中属性的操作(理解不正确之处,望给予斧正)。这里,JSF的思想和.Net是一致的。把控件的以实例的形式放到bean中,这样就可以用程序随意操作这个控件的各个属性了。
BackingBean.java
BackingBean.java文件说明:主要是27,28行,其意思是当按钮的action事件触发后,就控件txtComponentInput进行操作,这里,我只是对Value和Rendered两个属性进行了操作,当然可以对其他属性进行随意操纵。这里的txtComponentInput其实就是<h:inputText value="" binding="#{Backing.txtComponentInput}"></h:inputText>,把此控件绑定到bean中,便于用程序对其进行动态控制。
faces-config.xml
faces-config.xml文件大家一看就是知道意思,就不多说了。
下面是运行截图.(当点击Submit按钮时,input被负值@@@@@@)
binding="#{Masterlogs.logSelectField}" >
<f:selectItems value="#{Masterlogs.logOptions}" />
<a4j:support id="a4j_selectMasterLog" event="onchange" immediate="true" ajaxSingle="true"
actionListener="#{Masterlogs.masterLogSelect}" reRender="search, errorTable, emergTable, alertTable, infoTable, scroll_1, scroll_2, scroll_3, scroll_4" />
</h:selectOneMenu>
以上代码中,binding="#{Masterlogs.logSelectField}"的意思就是把h:selectOneMenu这个控件赋值给名称为Masterlogs的JavaBean的logSelectField属性,从而能够在Masterlogs这个JavaBean的方法中获取或者操作h:selectOneMenu这个控件的值。
以下内容为我在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> |
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)); } } |
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> |
下面是运行截图.(当点击Submit按钮时,input被负值@@@@@@)
相关文章推荐
- SSH+DWZ、JQuery-UI ,swfobject.embedSWF属性与用法,IE下日期控件被flash控件挡住
- 在非UI线程中改变UI控件属性的通用方法
- 跟互联力量学Silverlight之七_StackPanel控件和布局属性用法
- [UI控件问题] android屏幕自适应 android 属性
- Windows Media Player 控件属性、方法、事件的用法
- 线程访问UI控件和Control.CheckForIllegalCrossThreadCalls属性
- Mediar.Framework—业务的实现3 (控制UI控件的可视和可编辑属性、验证、以及一对一,一对多,多对多关系)
- [UI控件问题] android屏幕自适应 android 属性
- [asp.net] 验证控件的属性及用法
- 关于线程中修改UI的控件属性
- 跟互联力量学Silverlight之七_StackPanel控件和布局属性用法
- JSF控件的immediate属性和页面生命周期
- ASP.NET验证控件使用详解,介绍了基本属性和用法
- [UI控件问题] android屏幕自适应 android 属性
- 转 在非 UI线程中改变UI控件属性的通用方法
- popupWin 属性及用法介绍 ASP.NET控件,仿QQ,msn右下角弹出窗口
- 转载 android 所有布局属性和UI控件
- AspNetPager常用属性及用法 / URLRewrite伪静态与AspNetPager分页控件的结合
- popupWin 属性及用法介绍 ASP.NET控件,仿QQ,msn右下角弹出窗口
- [UI控件问题] android屏幕自适应 android 属性