struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nikos dimitrakas (Jira)" <j...@apache.org>
Subject [jira] [Commented] (WW-5093) inconsistent scope for variables created with s:set and s:url
Date Fri, 09 Oct 2020 07:17:00 GMT

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

Mime
View raw message