0

目前我正在研究 Openxava 框架,这对我来说是新的。我想在我当前的项目中构建一个文件下载功能,所以我需要一个 HttpServletResponse 对象。所以请帮助我如何在 Openxava 中获取 HttpServletResponse 对象。

4

1 回答 1

0

您可以创建一个 servlet 并在 servlets.xml 中注册它(OpenXava 在部署时将此文件的内容添加到 web.xml 中)。

要为用户启用 servlet,然后创建一个实现 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;
    }
}

费德里科

于 2013-02-10T13:25:47.143 回答