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文件以节省空间。 

目录
相关文章
PAT (Advanced Level) Practice:1~3题
​ ✨欢迎您的订阅✨ PAT乙级专栏(更新完毕): 👉🏻【Basic Level】👈🏻 PAT甲级专栏(更新ing): 👉🏻【Advanced Level】👈🏻 ​
PAT (Advanced Level) Practice:1~3题
|
C++
PAT (Advanced Level) Practice - 1038 Recover the Smallest Number(30 分)
PAT (Advanced Level) Practice - 1038 Recover the Smallest Number(30 分)
124 0
Error saving your changes: Description control characters are not allowed
在修改 GitHub 上的仓库描述时出现此提示信息:Error saving your changes: Description control characters are not allowed 开始以为是 Fork 来的没有修改权限,但之前没有遇到这样的情况,提示信息说的也不是这个意思。
2383 0
|
前端开发 开发工具 git
|
安全 Java C++
Note
开发分布式应用distributed;强类型机制 异常处理exception except 垃圾的自动收集java对通过网络下载的类具有安全防范机制通过网络下载的类有一个安全防范机制;classLoader;分配不同的名字空间以防替代本地的同名类,字节代码检查,并提供安全管理机制SecurityMa...
1069 0
SAP Error -Combination of GR/IR control not allowed for external services-
SAP MM ME22N 试图取消 ‘GR-Bsd IV’,error- Combination of GR/IR control not allowed for external services-   ME...
2219 0
|
Web App开发 Java
The project was not built due to "Could not delete ''.". Fix the problem, then try refreshing this p
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/45935015 ...
987 0