Как получить объект HttpServletResponse в Openxava
В настоящее время я работаю над фреймворком Openxava, и он для меня новый. Я хочу встроить функцию загрузки файлов в мой текущий проект, поэтому для этого мне нужен объект HttpServletResponse. поэтому, пожалуйста, помогите мне, как я могу получить объект HttpServletResponse в Openxava.
1 ответ
Вы можете создать сервлет и зарегистрировать его в servlets.xml (OpenXava добавляет содержимое этого файла в web.xml после развертывания).
Чтобы включить сервлет для пользователя, создайте действие, реализующее IForwardAction.
Например, servlet.xml может иметь:
<servlet>
<servlet-name>myDownloadServlet</servlet-name>
<servlet-class>org.webapp.test.MyDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myDownloadServlet</servlet-name>
<url-pattern>/mydownload.do</url-pattern>
</servlet-mapping>
И класс MyDownloadServlet.
public class MyDownloadServlet extends HttpServlet {
/**
* Shows Hello World.
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().write("Hello World");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Наконец-то ваши действия
public class MyDownloadAction extends ViewBaseAction implements IForwardAction {
public String getForwardAction() {
return "/mydownload.do";
}
public boolean inNewWindow() {
return true;
}
}
Federico