ICEfaces Note(3)

简介: ICEfaces Note(3) 一、使用ICEfaces的Auto-Complete Component 自动完成组件(Auto-Complete Component)实际上就是ice:selectInputText组件。

ICEfaces Note(3)

一、使用ICEfaces的Auto-Complete Component
自动完成组件(Auto-Complete Component)实际上就是ice:selectInputText组件。这个组件提供了一个带有自动完成功能的增强的文本输入组件。一旦用户输入文本到组件中,组件将提供一个可能匹配的弹出列表供用户选择。
这个组件在用户还没有完成输入时预测了用户想要键入的短语。这个组件需要开发者在backing bean实现匹配搜索算法。
下面给了使用该组件的例子。
1、selectInputText组件能产生两种类型的列表(list):
1)字符串数据的列表;
2)任意复杂的子组件列表。
--------------------------

   

--------------------------
上面的代码将显示一个下拉列表引用来匹配输入的文本。
rows属性定义了当输入文本时,有多少结果项被列出;
width属性定义了输入文本框和下拉列表框的宽度;
valueChangeListener属性链接backing bean,来控制当输入列表改变时相应列表的改变。
f:selectItems是JSF的标签,它链接到backing bean,列出所有的有效值。

下面的代码将展示怎样使用组件来产生任意子组件的列表:
--------------------------

ice:selectInputText rows="6" width="300" listVar="city" 
    valueChangeListener
="#{autoCompleteBean.updateList}"
    listValue
="#{autoCompleteBean.list}">
    
f:facet name="selectInputText">
        
ice:panelGrid columns="3" style="margin-bottom:-20px;"
            columnClasses
="cityCol,stateCol,zipCol">
            
ice:outputText value="#{city.city}"/>
            
ice:outputText value="#{city.state}"/>
            
ice:outputText value="#{city.zip}"/>
        
ice:panelGrid>
    
f:facet>
ice:selectInputText>


--------------------------
这个例子显示了输入城市名的部分单词,则下拉列表中显示出匹配的城市名、州名、邮政编码。

2、创建Backing Beans
在例子中我们使用三个主要的backing beans:
(1)AutoCompleteBean:从AutoCompleteDictionary类存储收集到的值。其包含的方法是更新列表和从字典列表中得到匹配。
(2)AutoCompleteDictionary:从文件系统中的一个文件得到字典列表。
(3)City:基本类,作为字典列表的对象。
1)创建字典
对于自动完成组件要工作,必须有一个字典,让backing beans能查询和得到匹配的变量列表。如下:
--------------------------

java version="1.4.2_08" class="java.beans.XMLDecoder">
    
object class="java.util.ArrayList">
        
void method="add">
            
object class="com.icesoft.icefaces.tutorial.component.autocomplete.City">
                
void property="areaCode">
                    
string>631string>
                
void>
                
void property="city">
                    
string>Holtsvillestring>
                
void>
                
void property="country">
                    
string>Suffolkstring>
                
void>
                
void property="state">
                    
string>New Yorkstring>
                
void>
                
void property="stateCode">
                    
string>NYstring>
                
void>
                
void property="zip">
                    
string>00501string>
                
void>
            
object>
        
void>
    
object>
java>

 

--------------------------
这个文件可能相当大,因此我们可以zip这个xml文件以节省空间。 

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
PGL图学习之图神经网络GNN模型GCN、GAT[系列六]
本次项目讲解了图神经网络的原理并对GCN、GAT实现方式进行讲解,最后基于PGL实现了两个算法在数据集Cora、Pubmed、Citeseer的表现,在引文网络基准测试中达到了与论文同等水平的指标。 目前的数据集样本节点和边都不是很大,下个项目将会讲解面对亿级别图应该如何去做。
|
XML Java 数据库连接
性能提升秘籍:如何高效使用Java连接池管理数据库连接
在Java应用中,数据库连接管理至关重要。随着访问量增加,频繁创建和关闭连接会影响性能。为此,Java连接池技术应运而生,如HikariCP。本文通过代码示例介绍如何引入HikariCP依赖、配置连接池参数及使用连接池高效管理数据库连接,提升系统性能。
219 5
|
网络协议 安全 网络安全
2023华为ICT网络初赛试题回顾
2023华为ICT网络初赛试题回顾
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错之同步Oracle时出现主题为空的报错该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
监控 网络协议 CDN
云大使推广可奖励返佣产品明细(核心返利产品)
阿里云云大使返利产品,核心返利产品按照15%返利,具体明细查看当月详细规则 https://developer.aliyun.com/article/1007904
|
前端开发 测试技术 数据处理
MVVM和MVC以及MVP的原理以及它们的区别
MVVM和MVC以及MVP的原理以及它们的区别
393 0
每日一题——旋转数组的最小数字(II)
每日一题——旋转数组的最小数字(II)
|
消息中间件 Java Shell
RabbitMQ设置SSL相关操作
RabbitMQ设置SSL相关操作
519 0
|
SQL 缓存 Cloud Native
全链路灰度在数据库上我们是怎么做的?
微服务体系架构中,服务之间的依赖关系错综复杂,有时某个功能发版依赖多个服务同时升级上线。我们希望可以对这些服务的新版本同时进行小流量灰度验证,这就是微服务架构中特有的全链路灰度场景,通过构建从网关到整个后端服务的环境隔离来对多个不同版本的服务进行灰度验证。
2024 1
全链路灰度在数据库上我们是怎么做的?