广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州分享JSF值更改事件实例_北大青鸟IT软件学校

作者:邓华发布时间:2021-04-28分类:Java技术浏览:857


导读:相信大家在学习Java的过程都会遇到各种各样的问题,那么下面惠州北大青鸟学术部老师给大家分享JSF值更改事件的实例,希望能帮助大家更好的理解JSF值更改事件。

相信大家在学习Java的过程都会遇到各种各样的问题,那么下面惠州北大青鸟学术部老师给大家分享JSF值更改事件的实例,希望能帮助大家更好的理解JSF值更改事件。

实例

以下代码来自demo.xhtml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
     xmlns:h="http://java.sun.com/jsf/html"
     xmlns:f="http://java.sun.com/jsf/core"
     xmlns:ui="http://java.sun.com/jsf/facelets">
   <h:body>
   <h:form>
       Selected country locale :
       <h:inputText id="country" value="#{country.localeCode}" size="20" />
       Select a country {method binding}:
       <h:selectOneMenu value="#{country.localeCode}" onchange="submit()"
         valueChangeListener="#{country.countryLocaleCodeChanged}">
            <f:selectItems value="#{country.countryInMap}" />
          </h:selectOneMenu>
       Select a country:
       <h:selectOneMenu value="#{country.localeCode}" onchange="submit()">
         <f:valueChangeListener type="cn.w3cschool.common.MyValueChangedListener" />
            <f:selectItems value="#{country.countryInMap}" />
          </h:selectOneMenu>      
   </h:form>
   </h:body>
</html>

以下代码来自MyValueChangedListener.java。

package cn.w3cschool.common;


import javax.faces.context.FacesContext;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ValueChangeEvent;
import javax.faces.event.ValueChangeListener;
public class MyValueChangedListener implements ValueChangeListener{

 @Override  public void processValueChange(ValueChangeEvent event)
     throws AbortProcessingException {
   
   UserBean country = (UserBean) FacesContext.getCurrentInstance().
     getExternalContext().getSessionMap().get("country");

   country.setLocaleCode(event.getNewValue().toString());
   
 }
 
 
}

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ValueChangeEvent;

@ManagedBean(name="country")
@SessionScopedpublic class UserBean implements Serializable{  private static final long serialVersionUID = 1L;  private static Map<String,String> countries;  private String localeCode = "en"; //default value
 static{
   countries = new LinkedHashMap<String,String>();
   countries.put("United Kingdom", "en"); //label, value
   countries.put("French", "fr");
   countries.put("German", "de");
 }  public void countryLocaleCodeChanged(ValueChangeEvent e){
   localeCode = e.getNewValue().toString();
 }  public Map<String,String> getCountryInMap() {
   return this.countries;
 }  public String getLocaleCode() {
   return localeCode;
 }  public void setLocaleCode(String localeCode) {
   this.localeCode = localeCode;
 }
}

想学Java的同学们,可以来惠州北大青鸟新方舟校区详细了解。

Java11.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表