Как получить объект 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

Другие вопросы по тегам