JSF中控件赋值方式

原创 2007年09月19日 11:22:00

JSF中对控件的赋值有以下几种方式。
1. 通过资源文件赋值。
2. 通过MBean属性赋值。
3. 通过隐含对象赋值。
4. 将控件绑定到MBean中的属性。

其中,赋值可以为一个公式。下面分别介绍:
1. 通过资源文件赋值:
需先定义资源文件Message.peoperties,代码如下:

LOGIN = Login
PASSWORD 
= Password:
USER_NAME 
= User Name:
JSF页面中引用资源文件:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<f:view locale="en">
    
<f:loadBundle var="msg" basename="Message"/>
    
<h:form>
        
<h:panelGrid border="1" columns="2">
            
<h:outputText value="#{msg.USER_NAME}"></h:outputText>
            
<h:inputText></h:inputText>
            
<h:outputText value="#{msg.PASSWORD}"></h:outputText>
            
<h:inputText></h:inputText>
        
</h:panelGrid>
    
</h:form>
</f:view>
</body>
</html>

代码中JSF文件通过<f:loadBundle>标签引入资源文件,然后用#{msg.USER_NAME}来引用Resource文件中USER_NAME的值。在JSF1.2中,也可以通过在faces-config中配置resource-bundle来引入资源文件。

2. 通过MBean属性赋值:

MBean代码如下:

package net.moon.beans;

public class UserInfo {
    
private String userName;
    
private String password;
    
    
public String getUserName(){
        
return userName;
    }

    
    
public String getPassword(){
        
return password;
    }

    
    
public void setUserName(String userName){
        
this.userName = userName;
    }

    
    
public void setPassword(String password){
        
this.password = password;
    }

}

在faces-config文件中配置MBean:
    <managed-bean>
        
<managed-bean-name>
        userInfo
</managed-bean-name>
        
<managed-bean-class>
        net.moon.model.UserInfo
</managed-bean-class>
        
<managed-bean-scope>
        session
</managed-bean-scope>
    
</managed-bean>
在JSF页面中引用MBean的属性:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<f:view locale="en">
    
<f:loadBundle var="msg" basename="Message"/>
    
<h:form>
        
<h:panelGrid border="1" columns="2">
            
<h:outputText value="#{msg.USER_NAME}"></h:outputText>
            
<h:inputText value="#{userInfo.username}"></h:inputText>
            
<h:outputText value="#{msg.PASSWORD}"></h:outputText>
            
<h:inputText value="#{userInfo.password}"></h:inputText>
        
</h:panelGrid>
    
</h:form>
</f:view>
</body>
</html>

用这种方式可以将控件的Value与MBean中的某一属性双向绑定,从而可以在其中之一被修改时自动修改另外一个的值,这种用法较多。

3. 用隐含对象赋值:
JSF中的隐含对象包含:

隐含对象  描述
applicationScope 整个应用域,相当于JSP中的application
cookie Cookie中资料,相当于JSP中的cookie
facesContext JSF中的FacesContext对象,可以通过它来访问其它对象
header 当前Request的Http header的Map
headerValues 当前Request中所有的Http header的Map
initParam 当前应用的初始化参数的Map
param 请求参数的Map
paramValues 当前参数的Map
requestScope 当前请求,相当于JSP中的request
sessionScope Session的Map,相当于JSP中的session
view 当前view

JSF代码中的引用方法如下:
<h:outputText value="#{sessionScope.userInfo.userName}"></h:outputText>
4. 将控件绑定到MBean中的某一属性,然后可以在MBean中修改控件数据:
基本方法是在MBean中建立类型为javax.faces.component包中的某一控件的属性,然后在JSF代码中用控件的binding属性来将整个控件与MBean中的属性绑定,这样就可以在MBean中修改JSF控件的各种属性,这里不做详细介绍。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

自定义的view中控件的点击事件实现

大多数时候我们需要自定义view实现功能,让代码更简洁化,但是在自定义view中控件,我们需要其实现点击事件,那么该怎么做呢?*1:自定义一个view,(本案例只实现一个button按钮的点击事件)*...

MFC中控件位图显示

使用静态文本控件 + picture控件显示

ASP.Net中控件的EnableViewState属性

在ASP.Net中对各个WebForm控件引入以前没有的EnableViewState属性。这个属性究竟有什么用。我们知道对于WebForm而言,其代码是在服务器端的,以处理客户端的请求。当用户通过浏...

MFC中控件大小随对话框大小动态变化

首先在***Dlg.h头文件中定义 CRect m_rectmin;//用于存储初始化对话框的大小 CRect Button1Rectinit;//用于存储初始化控件的大小 然后定义一个变化函数...

android相对布局中控件的常用属性

Android布局属性详解  RelativeLayout用到的一些重要的属性:   第一类:属性值为true或false   android:layout_centerHorizontal 水平...

关于MFC中控件的外观风格

1、在VS2008中,通过设置项目属性

ASP.Net中控件的EnableViewState属性

在ASP.Net中对各个WebForm控件引入以前没有的EnableViewState属性。这个属性究竟有什么用。我们知道对于WebForm而言,其代码是在服务器端的,以处理客户端的请求。当用户通过浏...

android中控件公用产生的冲突的解决办法

控件组合产生冲突的解决办法!!!

BOS中控件非空 非0校验

protected void verifyInput(ActionEvent arg0) throws Exception { super.verifyInput(arg0); ...

ASP.Net中控件的EnableViewState属性

在ASP.Net中对各个WebForm控件引入以前没有的EnableViewState属性。这个属性究竟有什么用。我们知道对于WebForm而言,其代码是在服务器端的,以处理客户端的请求。当用户通过浏...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)