[
https://issues.apache.org/jira/browse/WW-5093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17210668#comment-17210668
]
nikos dimitrakas commented on WW-5093:
--------------------------------------
I had a simple case of something like this
<s:iterator...>
<s:url var="x" .../>
${x}
<s:set var="x" .../>
${x}
</s:iterator>
{{The first iteration works fine, but all following iterations produce the
value of x set in the s:set or the previous iteration. I can of course use
different variable names or specify scope="request" in the s:set in order to
get both of them to use the same scope and avoid the problem. There are
multiple workarounds.}}
> inconsistent scope for variables created with s:set and s:url
> -------------------------------------------------------------
>
> Key: WW-5093
> URL: https://issues.apache.org/jira/browse/WW-5093
> Project: Struts 2
> Issue Type: Bug
> Components: Core Tags
> Affects Versions: 2.5.22
> Reporter: nikos dimitrakas
> Priority: Major
> Labels: scope, tag, var
> Fix For: 2.6
>
>
> The implementation of s:set and s:url and s:text is not consistent and not
> well documented.
> Creating a variable with s:set puts the variable in a different default scope
> than creating a variable with s:url or s:text (with the attribute var). It is
> also not documented what the default scope is. After testing I could conclude
> that the scope for a variable created by s:url is request, while the default
> of s:set is not. Furthermore, s:set offers a possibility to specify the scope
> with an attribute, But s:url and s:text do not.
> Possible options would be offering the possibility to specify the scope
> attribute in s:url and s:text, or dropping support for the var attribute for
> s:url and s:text and only allow s:set to create variables (thus being forced
> to nest s:url and s:text inside an s:set). That would be symmetric with how
> s:property does not offer the var attribute. At minimum all three tags should
> have the same default and their default should be explicitly specified in the
> documentation (in the tld and the online manual / tag reference)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)