我有一个下拉列表,我正在使用 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