Есть обычная JSF страница с 2-мя формами:
<h:form id="form1" styleClass="formneed" enctype="multipart/form-data">
<h:inputFile value="#{testBean.part}" >
<f:ajax listener="#{testBean.upload}" render="form2"/>
</h:inputFile>
</h:form>
<h:form id="form2">
<p:imageCropper value="#{testBean.croppedImage}" image="/temp/imagecrop" boxWidth="400"
initialCoords="20, 20, 50, 50"/>
<p:graphicImage id="testImage" value="#{testBean.uploadedFile}" cache="false"/>
<h:commandButton value="crop" action="#{testBean.crop}">
</h:commandButton>
</h:form>
<h:outputScript library="primefaces" name="jquery/jquery.js" />
<h:outputScript>
$(document).ready(function () {
$(".formneed").attr("action", "/resources/pages/test.xhtml");
})
</h:outputScript>
Она управляется следующим бином:
@Named
@SessionScoped
public class TestBean implements Serializable {
public void upload(){
try {
byte[] temp = IOUtils.toByteArray(part.getInputStream());
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("cropBytes", temp);
}catch (IOException e){
e.printStackTrace();
}
}
public String crop(){
this.file = croppedImage.getBytes();
return "";
}
public StreamedContent getUploadedFile() {
if(file == null){
return new DefaultStreamedContent();
}
InputStream is = new ByteArrayInputStream(file);
return new DefaultStreamedContent(is, "image");
}
}
Их задача состоит в том, чтобы загрузить картинку, затем выделить область обреза с помощью кастомного компонента p:imageCropper
(Всё сделано по документации primefaces
) и по нажатию кнопки должна отправиться эта область, из неё получают байты в методе crop()
. Дальше p:graphicImage
из этих байтов запрашивает картинку getUploadedFile()
.
Проблема в том, что при нажатии на эту кнопку страница обновляется, идут запросы, но картинка не изменяется, а это происходит так как метод crop()
не вызывается вообще (Смотрел дебагом в intellijIDEA ), что делать?
UPDATE 1.
При переходе на данную страницу 2 GET запроса имеют статус 404, и они оба ссылаются на 1 url:
http://localhost:8080/javax.faces.resource/dynamiccontent.properties.xhtml?ln=primefaces&v=6.2&pfdrid=60028d6fb3f7b8e66e1a60dac9c71a04&pfdrt=sc&pfdrid_c=false&uid=41d73dd2-d9e4-4172-bb8f-bda344c1a629
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо создать Bitmap из изображения png, находящегося не в ресурсах, а просто в папке проектаНе могу понять какой путь прописывать, пробовал...
Упражняюсь в Java на CodewarsВ задачке речь идет об очереди в кинотеатр, где билет на фильм стоит 25 долларов, а у посетителей могут быть купюры в 25, 50 и 100 долларов...
Разместил Бета версию приложения в PlayMarketНа период тестирования в приложении будет кнопка "Отправка статистики разработчику"
Можно ли использовать композицию, когда оба класса абстрактные? Например, у меня есть абстрактный класс Тело (от него я буду создавать конусы,...