Почему функция не вызывается на p: commandButton?

Почему функция не вызывается в p: commandButton? В отладке видно, что программа вызывает функции конвертера, но функция кнопки не вызывается

Jsf page

<h:form>
    <p:panel header="Create a new book" style="margin-bottom:20px">
        <h:panelGrid columns="2" cellpadding="5">

            <p:outputLabel  value="Жанр:" />
            <p:selectManyMenu  value="#{listgames.newGame.listGenre}" converter="#{genreConvertor}"
                               var="t"  filter="true" filterMatchMode="contains" showCheckbox="true">
                <f:selectItems value="#{listgenres.all_games}" var="theme" itemLabel="#{theme.name}" itemValue="#{theme}"/>
                <p:column>
                    <h:outputText value="#{t.name}" />
                </p:column>
            </p:selectManyMenu>

            <p:commandButton action="#{listgames.createNew}"/>
        </h:panelGrid>
    </p:panel>
  </h:form>

converter

@Component("genreConvertor")
public class GenreConverter implements Converter
{
    @Autowired
    private GenreService genreService;

    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) {
        if (s == null || s.isEmpty()) {
            return null;
        }

        try {
            return genreService.getById(Long.valueOf(s));
        } catch (NumberFormatException e) {
            throw new ConverterException(new FacesMessage(s + " is not a valid Warehouse ID"), e);
        }
    }

    @Override
    public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o)
    {
        if (o == null) {
            return ""; // Never return null here!
        }

        if (o instanceof Genre) {
            return String.valueOf(((Genre) o).getId());
        } else {
            throw new ConverterException(new FacesMessage(o + " is not a valid Warehouse"));
        }
    }
}

Spring bean s

@Component(value = "listgames")
@SessionScope
public class GamesView {

    @Autowired
    private GamesService gamesService;


    private List<Game> All_games = new ArrayList<Game>();
    private Game newGame=new Game();

    public Game getNewGame() {
        return newGame;
    }

    public GamesService getGamesService() {
        return gamesService;
    }

    public void setGamesService(GamesService gamesService) {
        this.gamesService = gamesService;
    }

    public void setNewGame(Game newGame) {
        this.newGame = newGame;
    }

    public void onRowEdit(RowEditEvent event) {
          Game new_game=(Game)event.getObject();
          All_games.get(new_game.getId()-1).update(new_game);
        FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "INFO", "X/Y edit successful!");
        FacesContext.getCurrentInstance().addMessage(null, msg);
            int i=0;
            i++;

    }

    public void createNew() {
            newGame.setStatus(gamesService.getStatus( 1));
            newGame.setEnd(newGame.getStart());
            gamesService.addBank(newGame);
            newGame = new Game();
    }

    public List<Game> getAll_games() {
        return gamesService.getAll();
    }

    public void setAll_games(List<Game> all_games) {
        All_games = all_games;
    }
}

Ответы (0 шт):