2013-10-25 1 views
0

я использую JSF 1.2 и имеют правила навигации с переадресацией, мой вопрос заключается в том, чтобы добавить параметры запроса, чтобы просмотреть перенаправленыJSF 1.2 Добавление параметра к перенаправить запрос

+1

Это выглядит полезным: http://stackoverflow.com/questions/3605238/how-do-you-pass-view-parameters-when-navigating-from-an-action-in-jsf2 – Omar

+2

@ Омар, который работает с JSF 2. Вопрос OP для JSF 1.2. –

+0

Спасибо, я вижу решение в JSF 2, но я не знаю, существует ли аналогичная функция для JSSF 1.2. – jrey

ответ

1

Это не возможно с помощью навигационных правил в JSF 1.x. Вместо этого используйте ExternalContext#redirect().

public void action() throws IOException { 
    // ... 

    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext(); 
    String url = ec.getRequestContextPath() + "/page.jsf?someparam=" + URLEncoder.encode(someparam, "UTF-8"); 
    ec.redirect(url); 
} 
+0

Вместо добавления нового параметра как строки в url, могу ли я добавить ключ и значение параметра запроса программно через API? – user2918640

+1

@ user2918640: Вы можете. JSF только не предлагает публичный API-интерфейс для построения URL-адресов. Библиотека утилиты JSF У OmniFaces есть метод 'Faces # redirect()' Faces #, который автоматически добавляет параметры path и URL-encodes. – BalusC

+0

Но как мне это сделать в формате? Скопировать источник OmniFaces? Я хочу безопасно добавлять параметры к URL-адресу, который уже может содержать параметр. – user2918640