ドロップダウンの選択に応じて、Ajax コンポーネントを使用してアクションを実行するドロップダウンがあります。適切に動作するようになったので、イベントを実行する必要がありますが、ドロップダウン値は既に選択されています。私も自分のコードを持っています:
<p:selectOneMenu value="#{regRolMB.rol.sistema.cdCodigo}">
<f:selectItem itemLabel="-- SELECCIONE --" itemValue="" />
<f:selectItems value="#{regRolMB.listHorario}" var="hor" itemValue="#{hor.cdCodigo}" itemLabel="#{hor.nbNombre}" />
<p:ajax listener="#{regRolMB.changeHorario}" process="@this" update="dataTableHorario" />
</p:selectOneMenu>
そして、次のようなコントローラーで:
private List<DetHorario> detHorario;
@PostConstruct
public void init() {
try{
detHorario = new ArrayList<DetHorarioBean>();
}catch(Exception e){
e.printStackTrace();
}
}
private void ListadoDetHorarios(Long rolCodHorario){
detHorario = detHorarioService.buscarDetHorarioPorRolHorario(rolCodHorario);
}
public void changeHorario(AjaxBehaviorEvent vce){
Long idRolCodHorario= (Long) ((UIOutput) vce.getSource()).getValue();
ListadoDetHorarios(idRolCodHorario);
}
@PostConstructでそのイベントchangeHorarioを実行できるので相談しました