原创:muhongdi@163.com 转载请注明出处
<af:autoSuggestBehavior>自动提示行为
<af:autoSuggestBehavior>是一种基于可编辑组件的,以下拉选单形式提示用户输入的行为。
The autoSuggestBehavior tag is a declarative way to show the suggestedItems in a dropdown for the editable components based on user input in the field.
Attributes
Name | Type | Supports EL? | Description | |
suggestedItems | String | required | An EL expression pointing to the java method which returns List<javax.model.SelectItem> of the suggestedItems. The method should take one string argument, submitted value |
补充: SmartList:用途不明,没有找到相关说明 |
在inputText组件上添加autoSuggestBehavior
自动提示与inputText组件结合,可以实时对用户输入进行提示。用于拼音首字母检索,通讯录人名检索,搜索等
基本用法
使用方法
1.在需要添加该行为的jspx的inputText下添加如下代码(标红的部分)
<af:inputText label="请输入" id="it1">
<af:autoSuggestBehavior suggestedItems="#{test1Bean.suggestedItems }" />
</af:inputText>
或直接在Component Palette中选择AutoSuggestBehavior并拖拽到inputText组件上
注:test1Bean为manageBean的名称;也可以直接在Component Palette中选择
2.在manageBean中添加方法:
public List<SelectItem> suggestedItems(String string) {
ArrayList<SelectItem> found = new ArrayList<SelectItem>();
for (int i = 0; i < 5; i++) {
SelectItem si=new SelectItem();
si.setLabel(string + i);//提示名称
si.setValue(string + i+"v");//点选后对应的值
found.add(si);
}
return found;
}
注:标绿的部分为示例代码,请根据需要替换成自己的逻辑
可用性测试
IE7 | IE8 | Chrome | Firefox | |
效果图 | | | ||
Bugs | 不支持用输入法输入 | 支持用输入法输入 |
*多数版本的遨游/360浏览器用的都是IE内核
*11.1.1.4版本已修复不支持输入法问题
为了减少与后台的数据库交互,提高程序执行效率,请视情况使用缓存。