Вот в чем вопрос: хочу вывести iFrame с обзором pdf, написал сервлет который отвечает за высылку информации (так как сам pdf находится не в папке проекта).
package web;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
@ManagedBean
@SessionScoped
public class showPdf extends HttpServlet {
private String fileName;
private static final int DEFAULT_BUFFER_SIZE = 10240;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
File file = new File("C:\\Users\\HP\\Desktop\\Data\\" + fileName);
resp.reset();
resp.setBufferSize(DEFAULT_BUFFER_SIZE);
resp.setContentType("pdf");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(resp.getOutputStream(), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
} finally {
input.close();
output.close();
}
}
}
Параметр filename высылаю в xhtml
<p:column>
<f:attribute name="#{showPdf.fileName}" value="#{product.id}"/>
<iframe src="#{showPdf}"/>
</p:column>
Параметр product.id известен, то есть проблема не в нем, но на месте iFrame получаю not found. Подскажите пожалуйста что не так.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть кнопка которая делает скриншотКак сделать какой-то эффект, чтобы было понятно ,что скриншот сделан
Почему дублируется диалог? Если запустить меню, выбрать доход, ввести доход, закрыть диалог, закрыть ввод дохода, в меню выбрать доход, ввести...
В vuejs мы создали объект для отправки, json, давая имена через camelCase
создаю клавиатуру для упрощения общения с пользователемНо не могу понять как обработать нажатие на кнопку из клавиатуры