Ответ из BalusC является (как обычно) правильным.
Но сохраните одно (как уже было сказано им). Окончательный запрос выполняется из браузера, чтобы получить URL-адрес из созданного тега . Это не выполняется в контексте jsf.
Итак, если вы попытаетесь, например, доступ к фазеId (протоколирование или по какой-либо причине)
context.getCurrentPhaseId().getName()
Это приведет к ошибке NullPointerException
, и какое-то вводящее в заблуждение сообщение об ошибке вы получите:
org.primefaces.application.resource.StreamedContentHandler () - Error in streaming dynamic resource. Error reading 'image' on type a.b.SomeBean
мне достаточно времени, чтобы выяснить, в чем проблема.