You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Don Brown (JIRA)" <ji...@apache.org> on 2008/04/19 14:45:05 UTC
[jira] Resolved: (WW-2082) Result annotation for StreamResult uses
value tag instead of inputName parameter for the name of the stream
property
[ https://issues.apache.org/struts/browse/WW-2082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Don Brown resolved WW-2082.
---------------------------
Resolution: Fixed
Assignee: Don Brown
Actually, it turns out, they are the same thing. The "value" attribute in the Result annotation, known in the XML config as the default parameter for a result, sets the 'inputName' parameter. Therefore, when you define both the 'inputName' and the default parameter, the regular 'inputName' is processed first, then the default parameter is processed, overwriting the specifically named parameter.
We could switch this, however, it would cause an issue for backwards-compatibility. I'd rather just update the docs to clarify how the default parameter works. I've updated the result types page: http://cwiki.apache.org/confluence/display/WW/Result+Types
> Result annotation for StreamResult uses value tag instead of inputName parameter for the name of the stream property
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: WW-2082
> URL: https://issues.apache.org/struts/browse/WW-2082
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - CodeBehind
> Affects Versions: 2.0.8, 2.0.9
> Environment: MS Windows, IBM RAD 7 Test Environment, WAS 6.1, Java 5
> Reporter: Kevin Dahlhausen
> Assignee: Don Brown
> Priority: Minor
> Fix For: 2.1.2
>
>
> The documentation for StreamResult at http://struts.apache.org/2.x/docs/stream-result.html and the released code differ on how the name of the result stream is determined by the framework. The documentation says that this name is defined by he 'inputName' parameter, while the released code uses the 'value' tag of the result annotation.
> In the following code, getXxx() is called to return the stream instead of getYyy() as the documentation would indicate.
> @Result (name="success", type=StreamResult.class, value="xxx", params={"inputName", "yyy", "contentType", "application/x-download", "contentDisposition", "attachment; filename=test.txt"})
> public class Download2Action extends ActionSupport
> {
> //param inputName says this should be called
> public InputStream getYyy() throws Exception
> {
> return new FileInputStream("C:/temp/support.txt");
> }
>
> // value tag actually determines that this is called instead
> public InputStream getXxx() throws Exception
> {
> return new FileInputStream("C:/temp/support.txt");
> }
> public String execute() throws Exception
> {
> return SUCCESS;
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.