afaik, метод modify должен возвращать строку действия, которая заканчивается на «? IncludeViewParams = true».Только после этого распространяются параметры вида (теоретически он должен работать и с Face-include-View-Params, который меньше повреждает глаза при соединении с Face-Redirect).
ADDENDUM: если вам нужно (как указано в комментарии) использовать параметр в вашем методе init, то они не являются - с точки зрения JSF - реальным вводом.Вы не получаете проверку, преобразование и т. Д. Но если вы просто хотите получить необработанное значение, используйте:
@ManagedParam("#{param.id}")
private String id;
// getter and setter for param goes here (obligatory!)
Id будет введен перед вызовом init.Обратите внимание, что это в основном способ обхода viewparams.Вы можете использовать какой-то другой тип, кроме String, но любая ошибка преобразования может привести к исключению, поэтому действительно лучше оставить его в виде строки и выполнить любое преобразование вручную.
Но корень вашей проблемы кажется неправильным@PostConstruct;Вероятно, вы хотите заполнить свою предыдущую фазу, примерно так:
<f:event type="preRenderView" listener="#{beanThatNeedsId.init}"/>