Question

Currently I am working on Openxava frame work and it's new for me. I want to built a File download functionality in my current project, so for that i need a HttpServletResponse object. so please help me how do i get HttpServletResponse object in Openxava.

No correct solution

OTHER TIPS

You can create a servlet and register it in servlets.xml (OpenXava adds the content of this file to web.xml upon deployment).

To enable the servlet for the user then create an action that implements IForwardAction.

For example servlet.xml might have:

<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>

And the MyDownloadServlet class.

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);
     }
}

Finally your action

public class MyDownloadAction extends ViewBaseAction implements IForwardAction {

    public String getForwardAction() {
        return "/mydownload.do";
    }

    public boolean inNewWindow() {
        return true;
    }
}

Federico

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top