Просто установите для его значения то же значение, что и для доступных значений, обычным способом (как и для любого другого входного компонента JSF).
На основе примера демонстрации PrimeFaces <p:selectCheckboxMenu>
, вот как это должно выглядеть:
package org.primefaces.examples.view;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FormBean implements Serializable {
private List<String> selectedMovies;
private Map<String,String> movies;
public FormBean() {
movies = new HashMap<String, String>();
movies.put("Scarface", "Scarface");
movies.put("Goodfellas", "Goodfellas");
movies.put("Godfather", "Godfather");
movies.put("Carlito's Way", "Carlito's Way");
selectedMovies = new ArrayList<String>();
selectedMovies.add("Scarface");
selectedMovies.add("Goodfellas");
selectedMovies.add("Godfather");
selectedMovies.add("Carlito's Way");
}
public List<String> getSelectedMovies() {
return selectedMovies;
}
public void setSelectedMovies(List<String> selectedMovies) {
this.selectedMovies = selectedMovies;
}
public Map<String, String> getMovies() {
return movies;
}
}
Обратите внимание, что selectedMovies
был подготовлен в конструкторе компонента.Конечно, это можно сделать более элегантно на основе Map movies
.Это просто чтобы дать вам идею.
Делать это с помощью JavaScript не нужно.