Перенаправить в другое представление в том же потоке задач программно в ADF

У меня есть один поток задач и у меня есть два вида, как это изображение:

Пример двух просмотров

У меня есть кнопка, чтобы перейти туда, но мне не нужно нажимать кнопку. Мне нужно перенаправить программно в другое представление с вызовом действия.

Как это назвать, потому что я использую JSFF в качестве страницы?

Если я использую этот метод:

       FacesContext fctx = FacesContext.getCurrentInstance();
   UIViewRoot root = fctx.getViewRoot();
   //client Id of button includes naming container like id of region. 
   RichCommandButton button = 
       (RichCommandButton) root.findComponent("cb1");
   ActionEvent actionEvent = new ActionEvent(button);
   actionEvent.queue();
   }

Я получаю ошибку, как не могу найти компонент. Если я использую идентификатор шаблона страницы, я также получаю сообщение об ошибке, так как компилятор не может найти компонент.

У вас есть другой метод, чтобы решить эту проблему, или вы можете исправить это, если я неправильно нахожу компонент?

2 ответа

Решение

Вы используете "URL view" и перенаправляете его на свой путь: введите описание изображения здесь

Для такого случая я использую этот код:

public static void navigateTo(String redirect) {
    FacesContext facesContext = FacesContext.getCurrentInstance();
    NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
    nh.handleNavigation(facesContext, null, redirect);
}

где redirect param - это имя правила потока.

Другие вопросы по тегам