Alireza Fattahi created WW-5360:
-----------------------------------

             Summary: Struts 2 and JDK 17 numbers in locale
                 Key: WW-5360
                 URL: https://issues.apache.org/jira/browse/WW-5360
             Project: Struts 2
          Issue Type: Improvement
          Components: Core
    Affects Versions: 6.3.0
            Reporter: Alireza Fattahi


With struts `6.3.0.1` and jdk 8 in locale `fa_IR` the below generates `1, 2, 3,`

 
{code:java}
         <s:iterator begin="1" end="3">
                    <s:property value="top"/>,
         </s:iterator>{code}
 

By upgrading to jdk 17 It generates `۱, ۲, ۳,` ( these are Persian numbers for 
`1, 2, 3,`)  

 

I have asked it at 
[https://stackoverflow.com/questions/77250075/struts-2-and-jdk-17-numbers-in-locale]
 and got a workaround by Roman C.

 

How ever I think this is something that could be fixed. Developers most of the 
times, use `s:iterator` to generate numbers which will be used in their code, 
not to show them to user. 

So for example a loop which generates 10 inputboxs with names as `inputbox_1, 
inputbox-2 ... `  will now generate `inputbox_۱, inputbox-۲ ... `.. lots of 
things need to be changed. ( The JavaScript which you developed base on English 
number, the name of the variables which was set in action ...)

I suggest that the `s:iterator` always generates English number, or at list has 
a property that can be configured. Or even we can configure this behavior 
globally with an `struts.xml`.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to