AJAX支持的自动填充表单


jsf的一个ajax扩展项目, 其实对于使用myfaces的用户来说还有个更的选择:使用MyFaces Sandbox 中的 InputSuggestAjax  用法如下:

  1.创建一个managed bean:

package test;
import java.util.ArrayList;
import java.util.List;
public class Bean {  
      //In that function all what you had to do is to
      //Specify what will be displayed in the list
      //Note that the keyword is the text entered by the user
      public List getSuggestedWords(String keyword) {
            List list = new ArrayList();
            list.add(keyword + " Ahmed Saleh");
            list.add(keyword + " Kahki");
            list.add(keyword + " Kourany");
            list.add(keyword + " Kiki");
            list.add(keyword + " Saleh Abouetta");
            list.add(keyword + " Hashim");
            return list;
      }
      public String getCurrentValue() {
            return currentValue;
      }
      public void setCurrentValue(String currentValue) {
            this.currentValue = currentValue;
      }
      String currentValue;
}

  2.   jsp 页面代码

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s" %>
<html>
<head>
<title>Ajax JSF sample (InputSuggestAjax)</title>
</head>
<body>
<f:view>
<h:form>
 <h:outputText value="Enter your name : "/>
  <s:inputSuggestAjax suggestedItemsMethod="#{bean.getSuggestedWords}"
  value="#{bean.currentValue}" />
  <br />
  <h:commandButton action="" value="Submit"/>
  <br />
  <h:outputText value="Your name is #{bean.currentValue}"/>
</h:form>
</f:view>
</body>  
</html> 

  3. web.xml配置

<context-param>
 <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
 <param-value>client</param-value>
</context-param>
//Instead of server make the state saving method on the client to make it works

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3