Search code examples
javaconfigurationparametersstruts2actionresult

How to change the file name to be downloaded


Here is I have the result:

<result name="success" type="stream">
   <param name="contentDisposition">attachment;filename="${fileName}"</param>
</result>

How it works now: if my fileName is raghu.txt in DB it will be downloaded as raghu.txt.

What I want: regardless of fileName the output name should be ravi.txt.


Solution

  • Try in your action

    public String getFileName() {
      return "ravi.txt";
    }
    

    When result is executed it will get the dynamic parameter via this method, and it will return the value wanted. But, it's only to show you how dynamic parameters work, actually if the configuration used the dynamic parameter you should modify the action code and setFileName("ravi.txt"); before the result code is returned. Then you can remain the normal getter.