<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>issues@struts.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/struts-issues/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/struts-issues/"/>
<id>http://mail-archives.apache.org/mod_mbox/struts-issues/</id>
<updated>2009-12-06T14:29:47Z</updated>
<entry>
<title>[jira] Created: (WW-3348) IndexOutOfBoundsException in ValueStackDataSource</title>
<author><name>&quot;Mark Gorokhov (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1435053502.1259956993408.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1435053502-1259956993408-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T20:03:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
IndexOutOfBoundsException in ValueStackDataSource
-------------------------------------------------

                 Key: WW-3348
                 URL: https://issues.apache.org/struts/browse/WW-3348
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - JasperReports
    Affects Versions: 2.1.8
         Environment: WinXP, Tomcat
            Reporter: Mark Gorokhov


Scenario: 
  - Jasper report with 4 subreports. 
  - Subreports content is provided from org.apache.struts2.views.jasperreports.ValueStackDataSource

Exception 
   java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
is thrown from:
    public boolean next() throws JRException {
        if (firstTimeThrough) {
            firstTimeThrough = false;
        } else {
                valueStack.pop(); &lt;== throws exception
        }
        . . .
    }

Exception is thrown if the last row from subreport fits the current page and a new page is
started. Thus the exception is data dependent.

The following workaround works nicely:
            if (valueStack.size() &gt; 0) {
                valueStack.pop();
            }

Please test and implement in the next release.

The following does not work (cuts off the main report on empty valueStack condition):
            if (valueStack.size() == 0) {
                return false;
            }
            valueStack.pop();


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (STR-3194) Need more thorough documentation of struts-config.xml</title>
<author><name>&quot;Michael Cox (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1410667822.1259942353453.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1410667822-1259942353453-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T15:59:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Need more thorough documentation of struts-config.xml
-----------------------------------------------------

                 Key: STR-3194
                 URL: https://issues.apache.org/struts/browse/STR-3194
             Project: Struts 1
          Issue Type: Improvement
          Components: Documentation
    Affects Versions: 1.3.10
         Environment: N/A
            Reporter: Michael Cox
            Priority: Minor


Being new to Struts, I've searched all over the documentation here:

http://struts.apache.org/1.x/index.html

But it's nearly impossible to get just a basic understanding of the struts-config.xml file
and its inner workings.  As one example, the "input" attribute of the "action" element is
included in several examples but is not actually documented anywhere.  Other websites say
that the "input" attribute describes where to forward if there is a validation error.  Since
it is extremely unintuitive that a validation error page is specified by an attribute called
"input" (rather than, say, "errorpage"), and since the official documentation should be reasonably
thorough when covering the basics of Struts, we really need to have a better description of
the Struts configuration XML file.  The documentation should contain a thorough explanation
of every element and attribute, as well as how the values can map to other elements.  (i.e.
how an action can be specified in the "path" attribute of a "forward" element by using "actionName.do",
how a "forward" attribute of an "action" element can point to a tiles definition in tiles-defs.xml,
etc.  This wiring of values is very confusing to beginners -- especially since the names that
were chosen are often misleading -- and seems to be poorly documented in the official pages.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3329) ${Parameters.xxx} in freemarker view is broken</title>
<author><name>&quot;zhouyanming (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c392023383.1259897474834.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c392023383-1259897474834-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T03:31:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47132#action_47132
] 

zhouyanming commented on WW-3329:
---------------------------------

does patch applied to trunk?

&gt; ${Parameters.xxx} in freemarker view is broken
&gt; ----------------------------------------------
&gt;
&gt;                 Key: WW-3329
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3329
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Other
&gt;    Affects Versions: 2.2.0
&gt;            Reporter: zhouyanming
&gt;            Assignee: Musachy Barroso
&gt;            Priority: Blocker
&gt;             Fix For: 2.2.0
&gt;
&gt;         Attachments: patch.diff
&gt;
&gt;
&gt; "Parameters" was instead by ".freemarker.RequestParameters" in FreemakerManager
&gt; protected ScopesHashModel buildScopesHashModel(
&gt; 			ServletContext servletContext, HttpServletRequest request,
&gt; 			HttpServletResponse response, ObjectWrapper wrapper,
&gt; 			ValueStack stack) ;

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c883176144.1259875873297.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c883176144-1259875873297-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:31:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Affects Version/s:     (was: 2.1.8)
                       2.2.x
        Fix Version/s: 2.2.x
             Assignee: Martin Cooper  (was: Rene Gielen)

As far as I can see, the submission process can be started. Handing over to Martin.

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.2.x
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Martin Cooper
&gt;             Fix For: 2.2.x
&gt;
&gt;         Attachments: OpenSymphony XWork Grant.PDF, opensymphony-xwork_20091203_rev2082.tar.bz2,
opensymphony-xwork_20091203_rev2082.tar.bz2.asc, opensymphony-xwork_20091203_rev2082.tar.bz2.md5,
opensymphony-xwork_20091203_rev2082.tar.bz2.md5.asc, struts2-xwork.xml, XWork_IP Clearance
_ Incubation - Status, Questions &amp; Next Steps.eml
&gt;
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1378512293.1259875753517.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1378512293-1259875753517-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:29:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Attachment: opensymphony-xwork_20091203_rev2082.tar.bz2.md5.asc

The XWork codebase as of revision 2082 to be donated, along with matching MD5 checksum and
signatures.

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Rene Gielen
&gt;         Attachments: OpenSymphony XWork Grant.PDF, opensymphony-xwork_20091203_rev2082.tar.bz2,
opensymphony-xwork_20091203_rev2082.tar.bz2.asc, opensymphony-xwork_20091203_rev2082.tar.bz2.md5,
opensymphony-xwork_20091203_rev2082.tar.bz2.md5.asc, struts2-xwork.xml, XWork_IP Clearance
_ Incubation - Status, Questions &amp; Next Steps.eml
&gt;
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1817503107.1259875634277.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1817503107-1259875634277-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:27:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Attachment: opensymphony-xwork_20091203_rev2082.tar.bz2.md5
                opensymphony-xwork_20091203_rev2082.tar.bz2.asc
                opensymphony-xwork_20091203_rev2082.tar.bz2

The XWork codebase as of revision 2082 to be donated, along with matching MD5 checksum and
signatures.

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Rene Gielen
&gt;         Attachments: OpenSymphony XWork Grant.PDF, opensymphony-xwork_20091203_rev2082.tar.bz2,
opensymphony-xwork_20091203_rev2082.tar.bz2.asc, opensymphony-xwork_20091203_rev2082.tar.bz2.md5,
struts2-xwork.xml, XWork_IP Clearance _ Incubation - Status, Questions &amp; Next Steps.eml
&gt;
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1406456859.1259875394129.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1406456859-1259875394129-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:23:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Attachment: XWork_IP Clearance _ Incubation - Status, Questions &amp; Next Steps.eml
                OpenSymphony XWork Grant.PDF

The software grant signed by Patrick Lightbody as managing director of Opensymphony

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Rene Gielen
&gt;         Attachments: OpenSymphony XWork Grant.PDF, struts2-xwork.xml, XWork_IP Clearance
_ Incubation - Status, Questions &amp; Next Steps.eml
&gt;
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1649901504.1259875274017.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1649901504-1259875274017-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:21:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Attachment: struts2-xwork.xml

The submission form completed as far as possible for Martin to review and commit, along with
the signed codebase

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Rene Gielen
&gt;         Attachments: struts2-xwork.xml
&gt;
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3248) IP Clearance for XWork Code Integration</title>
<author><name>&quot;Rene Gielen (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c778603714.1259875034057.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c778603714-1259875034057-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T21:17:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Gielen updated WW-3248:
----------------------------

    Attachment:     (was: struts2-xwork.xml)

&gt; IP Clearance for XWork Code Integration
&gt; ---------------------------------------
&gt;
&gt;                 Key: WW-3248
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3248
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Integration
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Rene Gielen
&gt;            Assignee: Rene Gielen
&gt;
&gt; This is the task for the IP clearance of the XWork code integration into the Struts 2
codebase
&gt; Website: http://www.opensymphony.com/xwork/
&gt; Subversion repository: https://svn.opensymphony.com/svn/xwork/trunk
&gt; Additional resources
&gt; IP clearence process, templates and completed processes
&gt; http://incubator.apache.org/ip-clearance/index.html
&gt; List of Apache committers and filed CLAs:
&gt; http://people.apache.org/~jim/committers.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WW-2970) Param set on chained action is re-set on all actions in chain</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1914171417.1259868555387.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1914171417-1259868555387-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T19:29:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Musachy Barroso resolved WW-2970.
---------------------------------

    Resolution: Won't Fix

ok, this became the side effect of something else which I am not sure what it was. Here is
the problem:
When StaticParamsInterceptor runs on action1 then the static param is added to the request
param list, when chaining happens all fields are copied from action1 to action2, and the field
is set as expected, but when the params interceptor runs on action2, then it "sees" the static
param as a request param because the StaticParamsInterceptor added it to the request params,
and then it sets the field in action2 to the static value.

Take a look at :
http://jira.opensymphony.com/browse/XW-709

The solution is to configure your "staticParams" interceptor and set the "merge" attribute
to false.

&gt; Param set on chained action is re-set on all actions in chain
&gt; -------------------------------------------------------------
&gt;
&gt;                 Key: WW-2970
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2970
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Interceptors
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Windows XP SP2.  WebLogic Server 10.0 MP1.  Java HotSpot(TM) Server
VM Version 1.5.0_11-b03
&gt;            Reporter: David
&gt;             Fix For: 2.2.0
&gt;
&gt;         Attachments: chainapp.zip
&gt;
&gt;
&gt; If a param is set on an action in a chain through struts.xml, it will be set on all subsequent
actions in the chain, thus overwriting any values that may have been set by the actions themselves.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-2970) Param set on chained action is re-set on all actions in chain</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c446368766.1259856554940.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c446368766-1259856554940-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T16:09:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47125#action_47125
] 

Musachy Barroso commented on WW-2970:
-------------------------------------

this seems weird, if it is broken then parameter copying in chaining is broken in 2.1.6+.

&gt; Param set on chained action is re-set on all actions in chain
&gt; -------------------------------------------------------------
&gt;
&gt;                 Key: WW-2970
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2970
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Interceptors
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Windows XP SP2.  WebLogic Server 10.0 MP1.  Java HotSpot(TM) Server
VM Version 1.5.0_11-b03
&gt;            Reporter: David
&gt;             Fix For: 2.2.0
&gt;
&gt;         Attachments: chainapp.zip
&gt;
&gt;
&gt; If a param is set on an action in a chain through struts.xml, it will be set on all subsequent
actions in the chain, thus overwriting any values that may have been set by the actions themselves.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-2970) Param set on chained action is re-set on all actions in chain</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c933252623.1259856471648.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c933252623-1259856471648-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T16:07:51Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Musachy Barroso updated WW-2970:
--------------------------------

    Fix Version/s: 2.2.0

&gt; Param set on chained action is re-set on all actions in chain
&gt; -------------------------------------------------------------
&gt;
&gt;                 Key: WW-2970
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2970
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Interceptors
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Windows XP SP2.  WebLogic Server 10.0 MP1.  Java HotSpot(TM) Server
VM Version 1.5.0_11-b03
&gt;            Reporter: David
&gt;             Fix For: 2.2.0
&gt;
&gt;         Attachments: chainapp.zip
&gt;
&gt;
&gt; If a param is set on an action in a chain through struts.xml, it will be set on all subsequent
actions in the chain, thus overwriting any values that may have been set by the actions themselves.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-2970) Param set on chained action is re-set on all actions in chain</title>
<author><name>&quot;Antoine W (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c82816902.1259848273602.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c82816902-1259848273602-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T13:51:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47124#action_47124
] 

Antoine W commented on WW-2970:
-------------------------------

It looks like I have the same behavior with tomcat. Params interceptor is re-setting all parameters
from get/post, before each chained action is called.
So if action1 updates one parameter, then chains to action2, action2 will still get the initial
value reseted by Params.
This is quite annoying... 

&gt; Param set on chained action is re-set on all actions in chain
&gt; -------------------------------------------------------------
&gt;
&gt;                 Key: WW-2970
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2970
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Interceptors
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Windows XP SP2.  WebLogic Server 10.0 MP1.  Java HotSpot(TM) Server
VM Version 1.5.0_11-b03
&gt;            Reporter: David
&gt;         Attachments: chainapp.zip
&gt;
&gt;
&gt; If a param is set on an action in a chain through struts.xml, it will be set on all subsequent
actions in the chain, thus overwriting any values that may have been set by the actions themselves.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3347) autocompleter</title>
<author><name>&quot;Dasari Taraka Rajendra Prasad (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1374389354.1259804713465.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1374389354-1259804713465-JavaMail-jira@brutus%3e</id>
<updated>2009-12-03T01:45:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
autocompleter
-------------

                 Key: WW-3347
                 URL: https://issues.apache.org/struts/browse/WW-3347
             Project: Struts 2
          Issue Type: Temp
          Components: Plugin - Dojo Tags
    Affects Versions: 2.1.8
         Environment: windows vista,oracle 10g database
            Reporter: Dasari Taraka Rajendra Prasad


based on a tutorial,i created an action called AutoCompleteCityAction and configured in struts.xml
like
.....Action.java
package ajaxstruts;

import java.util.List;
import java.util.Map;
import java.util.HashMap;

import com.opensymphony.xwork2.ActionSupport;

public class AutoCompleteCityAction extends ActionSupport {
  Map&lt;String,String&gt; json;
  String city;
  CitiesDAO  dao;
  public Map&lt;String, String&gt; getJson () {
    return json;
   }

  public void setJson (Map&lt;String, String&gt; json ) {
    this.json = json;
  }

  public String getCity () {
    return city;
  }

  public void setCity (String city ) {
    this.city = city;
  }  
  
  public AutoCompleteCityAction() {
   	  
  }
  
  public String execute()throws Exception {
  	return SUCCESS;
  }
  
  public String getCities() {
	  if(city != null &amp;&amp; (!city.isEmpty())) {
	    json = new HashMap&lt;String,String&gt;();
	    dao = new CitiesDAO();
	    List&lt;City&gt; list = dao.getCities(city);
	    for(City city: list) {
	     json.put(""+city.getCityId(),city.getCityName()+","+city.getStateName());   
	    }
	  }
	  return SUCCESS;
  } 
  
}

&lt;package name="ajaxstruts" 
            extends="json-default"&gt;

   &lt;action name="autoComplete" 
          class="ajaxstruts.AutoCompleteCityAction" &gt;
    
    &lt;result type="json"&gt;
          &lt;param name="root"&gt;json&lt;/param&gt;
    &lt;/result&gt;

   &lt;/action&gt;
 &lt;/package&gt; 
then written as .jsp

&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
 
&lt;html&gt;
  &lt;head&gt;
    &lt;sx:head /&gt;
  &lt;/head&gt;
  &lt;body&gt;
   &lt;div align="center"&gt;
    &lt;s:label name="City" value="Choose City:" /&gt;
    &lt;s:url id="cityList" action="autoComplete" method="getCities" /&gt;
    &lt;sx:autocompleter name="city"  href="{%cityList}" 
        size="20" /&gt;
   
   &lt;/div&gt; 
  &lt;/body&gt;
&lt;/html&gt;

when i am running 
the text box is showing
"message
type
number"
but no auto completion  [even after adding autoComplete="true" ]

please look into

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3346) ValidatorSupport turns empty defaultMessage to null causing field error to include &quot;null&quot; for visitor validators with empty messages</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c1221810608.1259694853283.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1221810608-1259694853283-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T19:14:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Musachy Barroso updated WW-3346:
--------------------------------

    Affects Version/s:     (was: 2.1.8)
                       2.2.0

&gt; ValidatorSupport turns empty defaultMessage to null causing field error to include "null"
for visitor validators with empty messages
&gt; ------------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3346
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3346
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: XML Validators
&gt;    Affects Versions: 2.2.0
&gt;         Environment: struts 2.1.8, xwork 2.1.6, jdk 1.6 
&gt;            Reporter: Haroon Rafique
&gt;            Assignee: Musachy Barroso
&gt;         Attachments: XW-737-null-defaultMessage.patch
&gt;
&gt;
&gt; I reported this as http://jira.opensymphony.com/browse/XW-737 and I was asked to report
this here as well.
&gt; Upon upgrading to struts 2.1.8 (from 2.0.14) with xwork 2.1.6, I started getting field
errors which included the string null in them for field visitor validators.
&gt; Using a visitor validator as follows:
&gt;     &lt;field name="residenceRoom"&gt;
&gt;         &lt;field-validator type="visitor"&gt;
&gt;             &lt;message/&gt;
&gt;         &lt;/field-validator&gt;
&gt;     &lt;/field&gt;
&gt; and a required string validator on the actual field as follows:
&gt;     &lt;field name="description"&gt;
&gt;         &lt;field-validator type="requiredstring"&gt;
&gt;             &lt;message&gt;Description is required&lt;/message&gt;
&gt;         &lt;/field-validator&gt;
&gt;     &lt;/field&gt; 
&gt; I was expecting the field for residenceRoom.description to contain "Description is required"
but instead it contained "nullDescription is required". Presumably this happens because of
line 202 in VisitorFieldValidator.java
&gt; super.addFieldError(getFullFieldName(fieldName), message + errorMessage);
&gt; The fix for me seems to be to fix ValidatorSupport to not nullify defaultMessage when
message is null or empty. I will attach a patch shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3346) ValidatorSupport turns empty defaultMessage to null causing field error to include &quot;null&quot; for visitor validators with empty messages</title>
<author><name>&quot;Haroon Rafique (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c572718701.1259694373606.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c572718701-1259694373606-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T19:06:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Haroon Rafique updated WW-3346:
-------------------------------

    Attachment: XW-737-null-defaultMessage.patch

Fix for "null" being included verbatim in visitor field errors.

&gt; ValidatorSupport turns empty defaultMessage to null causing field error to include "null"
for visitor validators with empty messages
&gt; ------------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3346
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3346
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: XML Validators
&gt;    Affects Versions: 2.1.8
&gt;         Environment: struts 2.1.8, xwork 2.1.6, jdk 1.6 
&gt;            Reporter: Haroon Rafique
&gt;            Assignee: Musachy Barroso
&gt;         Attachments: XW-737-null-defaultMessage.patch
&gt;
&gt;
&gt; I reported this as http://jira.opensymphony.com/browse/XW-737 and I was asked to report
this here as well.
&gt; Upon upgrading to struts 2.1.8 (from 2.0.14) with xwork 2.1.6, I started getting field
errors which included the string null in them for field visitor validators.
&gt; Using a visitor validator as follows:
&gt;     &lt;field name="residenceRoom"&gt;
&gt;         &lt;field-validator type="visitor"&gt;
&gt;             &lt;message/&gt;
&gt;         &lt;/field-validator&gt;
&gt;     &lt;/field&gt;
&gt; and a required string validator on the actual field as follows:
&gt;     &lt;field name="description"&gt;
&gt;         &lt;field-validator type="requiredstring"&gt;
&gt;             &lt;message&gt;Description is required&lt;/message&gt;
&gt;         &lt;/field-validator&gt;
&gt;     &lt;/field&gt; 
&gt; I was expecting the field for residenceRoom.description to contain "Description is required"
but instead it contained "nullDescription is required". Presumably this happens because of
line 202 in VisitorFieldValidator.java
&gt; super.addFieldError(getFullFieldName(fieldName), message + errorMessage);
&gt; The fix for me seems to be to fix ValidatorSupport to not nullify defaultMessage when
message is null or empty. I will attach a patch shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3346) ValidatorSupport turns empty defaultMessage to null causing field error to include &quot;null&quot; for visitor validators with empty messages</title>
<author><name>&quot;Haroon Rafique (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c2066754755.1259694253648.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c2066754755-1259694253648-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T19:04:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
ValidatorSupport turns empty defaultMessage to null causing field error to include "null" for
visitor validators with empty messages
------------------------------------------------------------------------------------------------------------------------------------

                 Key: WW-3346
                 URL: https://issues.apache.org/struts/browse/WW-3346
             Project: Struts 2
          Issue Type: Bug
          Components: XML Validators
    Affects Versions: 2.1.8
         Environment: struts 2.1.8, xwork 2.1.6, jdk 1.6 
            Reporter: Haroon Rafique
            Assignee: Musachy Barroso


I reported this as http://jira.opensymphony.com/browse/XW-737 and I was asked to report this
here as well.

Upon upgrading to struts 2.1.8 (from 2.0.14) with xwork 2.1.6, I started getting field errors
which included the string null in them for field visitor validators.

Using a visitor validator as follows:

    &lt;field name="residenceRoom"&gt;
        &lt;field-validator type="visitor"&gt;
            &lt;message/&gt;
        &lt;/field-validator&gt;
    &lt;/field&gt;

and a required string validator on the actual field as follows:
    &lt;field name="description"&gt;
        &lt;field-validator type="requiredstring"&gt;
            &lt;message&gt;Description is required&lt;/message&gt;
        &lt;/field-validator&gt;
    &lt;/field&gt; 

I was expecting the field for residenceRoom.description to contain "Description is required"
but instead it contained "nullDescription is required". Presumably this happens because of
line 202 in VisitorFieldValidator.java

super.addFieldError(getFullFieldName(fieldName), message + errorMessage);

The fix for me seems to be to fix ValidatorSupport to not nullify defaultMessage when message
is null or empty. I will attach a patch shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c158945717.1259684293427.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c158945717-1259684293427-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T16:18:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Musachy Barroso resolved WW-3339.
---------------------------------

    Resolution: Not A Problem

thanks for the research and reporting Bryan. 

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c151522632.1259676973277.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c151522632-1259676973277-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T14:16:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bryan Tartt updated WW-3339:
----------------------------


Ended up being an IE bug with authentication.  See http://support.microsoft.com/?id=251404

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Work started: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c201236808.1259676853749.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c201236808-1259676853749-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T14:14:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Work on WW-3339 started by Bryan Tartt.

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Work stopped: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c756938956.1259676733374.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c756938956-1259676733374-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T14:12:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Work on WW-3339 stopped by Bryan Tartt.

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Work started: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c558088050.1259676613722.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c558088050-1259676613722-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T14:10:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Work on WW-3339 started by Bryan Tartt.

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200912.mbox/%3c321931315.1259676493624.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c321931315-1259676493624-JavaMail-jira@brutus%3e</id>
<updated>2009-12-01T14:08:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bryan Tartt updated WW-3339:
----------------------------

    Assignee: Bryan Tartt

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;            Assignee: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3339) Form data lost (null) when using post method with Internet Explorer 7.  Get method works fine and post works fine with Firefox.</title>
<author><name>&quot;Bryan Tartt (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1401029126.1259613913559.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1401029126-1259613913559-JavaMail-jira@brutus%3e</id>
<updated>2009-11-30T20:45:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bryan Tartt updated WW-3339:
----------------------------

    Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5  (was: Tomcat 5.5.28
on IBM ISeries, IE 7, Struts2, Java 1.5)

&gt; Form data lost (null) when using post method with Internet Explorer 7.  Get method works
fine and post works fine with Firefox. 
&gt; --------------------------------------------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3339
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3339
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;         Environment: Tomcat 5.5.28 on IBM ISeries, IE 7, Struts2, Java 5
&gt;            Reporter: Bryan Tartt
&gt;
&gt; Every form that I have created has a problem retrieving data (returns null) in the Action
when using Internet Explorer 6 and form method is post.  I have not tested against other versions
of IE but FireFox works without any problems.  When I use get as the form method, the data
is passed in IE and FireFox.  I don't know if this is an IE and ISeries issue or a Struts
configuration (Interceptors) problem.  I have been searching for an answer on this problem
for weeks without any luck. 
&gt; form
&gt; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%&gt;
&gt; &lt;%@ page import="com.expensereport.*" %&gt;
&gt; &lt;%--@ page errorPage="/ExpRepErrorHandler.jsp" --%&gt;
&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&gt; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;
&gt; &lt;%@ taglib prefix="sx" uri="/struts-dojo-tags" %&gt;
&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&gt; &lt;html&gt;
&gt; 	&lt;head&gt;		
&gt; 		&lt;title&gt;Expense Reports&lt;/title&gt;
&gt; 		&lt;sx:head /&gt;
&gt; 		&lt;script type="text/javascript" src="HeaderScript.js"&gt;&lt;/script&gt;
&gt; 		&lt;link rel="stylesheet" href="&lt;s:url value="styles/ExpRepStyles.css"/&gt;" type="text/css"&gt;
&gt; 		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&gt; 		
&gt; 	&lt;/head&gt;
&gt; &lt;body topmargin=0 leftmargin=0 bgproperties="fixed" onLoad="checkBrowser()"&gt;
&gt; &lt;s:fielderror /&gt;
&gt; &lt;s:form name="ReceiptForm" id="ReceiptForm" action="Receipt_upload" method="POST"
validate="true" enctype="multipart/form-data" theme="simple" &gt;
&gt; 	&lt;table align="center"&gt;
&gt; 		&lt;tr bgcolor="#003366"&gt;&lt;td colspan="2" style="color:white"&gt;Receipt Upload&lt;/td&gt;&lt;/tr&gt;
&gt; 		&lt;tr&gt;			
&gt; 		   &lt;s:if test='%{#session.er.erh.reportID eq ""}'&gt;
&gt; 			&lt;td&gt;&lt;s:file name="receipt" id="receipt" size="30" disabled="true" /&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" disabled="true"
/&gt;&lt;/td&gt;
&gt; 		  &lt;/s:if&gt;
&gt; 		  &lt;s:else&gt;
&gt; 			&lt;td&gt;&lt;s:file id="receipt" name="receipt" size="30"/&gt;&lt;/td&gt;
&gt; 			&lt;td&gt;&lt;s:submit name="submit" id="submit" value="Upload Receipt" /&gt;&lt;/td&gt;
&gt; 		  &lt;/s:else&gt;
&gt; 		&lt;/tr&gt;
&gt; 	&lt;/table&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; struts.xml
&gt; &lt;!DOCTYPE struts PUBLIC
&gt;     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
&gt;     "http://struts.apache.org/dtds/struts-2.1.7.dtd"&gt;
&gt; &lt;struts&gt;&lt;!-- Configuration for the default package. --&gt;
&gt; 	&lt;package name="expensereport" extends="struts-default"&gt;	
&gt; 		
&gt; 		&lt;default-interceptor-ref name="defaultStack"/&gt; 		
&gt; 		
&gt; 		&lt;!--  Global results --&gt;
&gt; 		&lt;global-results&gt;
&gt; 			&lt;result name="bad"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 			&lt;result name="login"&gt;/index.html&lt;/result&gt;
&gt; 			&lt;result name="error"&gt;/ExpRepBadQueue.jsp&lt;/result&gt;
&gt; 		&lt;/global-results&gt;
&gt; 		&lt;global-exception-mappings&gt;
&gt; 			&lt;exception-mapping exception="java.lang.Exception" result="bad"/&gt;
&gt; 		&lt;/global-exception-mappings&gt;
&gt; 		
&gt; 	&lt;!-- actions --&gt;		
&gt;         &lt;action name="Receipt_upload" class="com.expensereport.ReceiptUpload"&gt;

&gt;         	&lt;interceptor-ref name="fileUploadStack"/&gt;
&gt; 	        &lt;interceptor-ref name="basicStack"/&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         	&lt;result name="input"&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ModifyReport" class="com.expensereport.ExpenseReportModify"&gt;
&gt;         	&lt;result&gt;/ExpRepEntry.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt;         &lt;action name="ReportDelete" class="com.expensereport.ReportDelete"&gt;
&gt;         	&lt;result name="confirm"&gt;/ExpRepDeleteConfirmation.jsp&lt;/result&gt;
&gt;         	&lt;result name="success" type="redirectAction"&gt;
&gt;         		&lt;param name="actionName"&gt;/ReportQueue&lt;/param&gt;
&gt;         		&lt;param name="queueOwner"&gt;EMPLOYEE&lt;/param&gt;
&gt;         		&lt;param name="queueType"&gt;ALL&lt;/param&gt;
&gt;         	&lt;/result&gt;
&gt;         &lt;/action&gt;  
&gt;         &lt;action name="AttendeeInfo" class="com.expensereport.AttendeeInfo"&gt;
&gt;         	&lt;result&gt;/AttendeeInput.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;    
&gt;         &lt;action name="AjaxRemoteForm" class="com.expensereport.AjaxRemoteForm"&gt;
&gt;         	&lt;result&gt;/AjaxRemoteForm.jsp&lt;/result&gt;
&gt;         &lt;/action&gt;
&gt; 	&lt;/package&gt;	
&gt; &lt;/struts&gt;
&gt; Action
&gt; package com.expensereport;
&gt; import java.io.BufferedReader;
&gt; import java.io.File;
&gt; import java.io.FileInputStream;
&gt; import java.io.FileNotFoundException;
&gt; import java.io.FileOutputStream;
&gt; import java.io.FileWriter;
&gt; import java.io.IOException;
&gt; import java.util.HashMap;
&gt; import java.util.Iterator;
&gt; import java.util.List;
&gt; import java.util.Map;
&gt; import javax.servlet.http.HttpServletRequest;
&gt; import javax.servlet.http.HttpServletResponse;
&gt; import org.apache.commons.fileupload.FileItem;
&gt; import org.apache.commons.fileupload.FileItemFactory;
&gt; import org.apache.commons.fileupload.FileUploadException;
&gt; import org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
&gt; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
&gt; import org.apache.commons.fileupload.servlet.ServletFileUpload;
&gt; import org.apache.commons.fileupload.servlet.ServletRequestContext;
&gt; import org.apache.struts2.ServletActionContext;
&gt; import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
&gt; import org.apache.struts2.interceptor.ServletRequestAware;
&gt; import org.apache.struts2.interceptor.ServletResponseAware;
&gt; import org.apache.struts2.interceptor.SessionAware;
&gt; import com.expensereport.EasyLog;
&gt; import com.opensymphony.xwork2.ActionContext;
&gt; import com.opensymphony.xwork2.ActionSupport;
&gt; import com.opensymphony.xwork2.Preparable;
&gt; public class ReceiptUpload extends ActionSupport implements SessionAware, Preparable
{
&gt; 	
&gt; 	/**
&gt; 	 * 
&gt; 	 */
&gt; 	private static final long serialVersionUID = -2387150538575396408L;
&gt; 	private File file;
&gt; 	private String contentType;// The content type of the file
&gt; 	private String fileName;// The uploaded file name and path
&gt; 	private Map session;
&gt; 	EasyLog log = new EasyLog();	
&gt; 		
&gt; 	
&gt; 	public String execute(){
&gt; 		
&gt; 				
&gt; 			getReceiptContentType();
&gt; 			log.info("receiptContentType = " + contentType);
&gt; 			getReceiptFileName();
&gt; 			log.info("receiptFileName = " + fileName);
&gt; 			getReceipt();		
&gt; 			log.info("Receipt getName = " + file.getName());
&gt; 					
&gt; 			session = ActionContext.getContext().getSession();	 
&gt; 			String reportID = "0000000";
&gt; 			
&gt; 			ExpenseReport er = (ExpenseReport) session.get("er");
&gt; 			log.info("reportID = " + er.getErh().getReportID());
&gt; 			
&gt; 			if ((er.getErh().getReportID() == null) || (er.getErh().getReportID().trim().length()
&lt; 1)){
&gt; 				er.getErh().setReportID(reportID);		
&gt; 			}
&gt; 			
&gt; 			if (file != null){
&gt; 				log.info("Creating a new file");
&gt; 				boolean renamed = file.renameTo(new File("/home/tomdev/ObjectCache/Expense Reports/"
+ fileName));
&gt; 			} else {
&gt; 				log.error("Attachment was null");
&gt; 			}
&gt; 			
&gt; 			log.info("return success");
&gt; 			return SUCCESS;
&gt; 	}
&gt;        public void prepare() throws Exception {
&gt; 		
&gt; 	}
&gt; }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3345) Disabled select lists</title>
<author><name>&quot;Diego Trombetta (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1452410518.1259589433548.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1452410518-1259589433548-JavaMail-jira@brutus%3e</id>
<updated>2009-11-30T13:57:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Disabled select lists
---------------------

                 Key: WW-3345
                 URL: https://issues.apache.org/struts/browse/WW-3345
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.1.8
            Reporter: Diego Trombetta


Upgrading from version 2.1.2 to version 2.1.8 the behavior of disabled select lists have been
broken:
when a select list is disabled a hidden input field is generated to keep track of the value
in the form submits.
Having added the 'disabled' attribute to the hidden.ftl this field disabeld, so it is unuseful!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3344) a wrong statement in the optiontransferselect documentation page</title>
<author><name>&quot;Ankit Garg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1038262155.1259585593505.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1038262155-1259585593505-JavaMail-jira@brutus%3e</id>
<updated>2009-11-30T12:53:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
a wrong statement in the optiontransferselect documentation page
----------------------------------------------------------------

                 Key: WW-3344
                 URL: https://issues.apache.org/struts/browse/WW-3344
             Project: Struts 2
          Issue Type: Bug
          Components: Documentation
    Affects Versions: 2.1.8
            Reporter: Ankit Garg
            Priority: Minor


On the last line of the description section of the page: http://struts.apache.org/2.x/docs/optiontransferselect.html
, it says

"The generated id and doubleId will be &lt;form_id&gt;_&lt;optiontransferselect_doubleName&gt;
and &lt;form_id&gt;_&lt;optiontransferselect_doubleName&gt; respectively."
_________________________________________________________|----------------|

but it should be

"The generated id and doubleId will be &lt;form_id&gt;_&lt;optiontransferselect_name&gt; and
&lt;form_id&gt;_&lt;optiontransferselect_doubleName&gt; respectively."
_________________________________________________________|-------|

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Issue Comment Edited: (WW-2132) Add support for JSP tag library dynamic attributes</title>
<author><name>&quot;Rajeev kumar (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1923707117.1259512453306.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1923707117-1259512453306-JavaMail-jira@brutus%3e</id>
<updated>2009-11-29T16:34:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47120#action_47120
] 

Rajeev kumar edited comment on WW-2132 at 11/29/09 4:33 PM:
------------------------------------------------------------

As ww-2092 contains patch.txt, can someone please provide me patch for src struts 2.0.11 for
above mentioned 1-7 steps.
At present I can't migrate to 2.1 series. So, please provide me patch for 1-7 steps.


      was (Author: rajeev):
    As ww-2092 contains patch.txt, can someone please provide me patch for src for struts
2.0.11 for above mentioned 1-7 steps.
  
&gt; Add support for JSP tag library dynamic attributes
&gt; --------------------------------------------------
&gt;
&gt;                 Key: WW-2132
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2132
&gt;             Project: Struts 2
&gt;          Issue Type: Improvement
&gt;          Components: Documentation
&gt;    Affects Versions: 2.1.0
&gt;            Reporter: James Holmes
&gt;            Assignee: James Holmes
&gt;             Fix For: 2.1.3
&gt;
&gt;
&gt; Based on the discussion in WW-2092, I am working on adding support for JSP dynamic attributes
to Struts 2.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-2132) Add support for JSP tag library dynamic attributes</title>
<author><name>&quot;Rajeev kumar (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c753912047.1259512333490.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c753912047-1259512333490-JavaMail-jira@brutus%3e</id>
<updated>2009-11-29T16:32:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47120#action_47120
] 

Rajeev kumar commented on WW-2132:
----------------------------------

As ww-2092 contains patch.txt, can someone please provide me patch for src for struts 2.0.11
for above mentioned 1-7 steps.

&gt; Add support for JSP tag library dynamic attributes
&gt; --------------------------------------------------
&gt;
&gt;                 Key: WW-2132
&gt;                 URL: https://issues.apache.org/struts/browse/WW-2132
&gt;             Project: Struts 2
&gt;          Issue Type: Improvement
&gt;          Components: Documentation
&gt;    Affects Versions: 2.1.0
&gt;            Reporter: James Holmes
&gt;            Assignee: James Holmes
&gt;             Fix For: 2.1.3
&gt;
&gt;
&gt; Based on the discussion in WW-2092, I am working on adding support for JSP dynamic attributes
to Struts 2.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3343) multiple forms on a single page renders wrong namespace in form action url</title>
<author><name>&quot;Wes Wannemacher (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c245805703.1259356513444.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c245805703-1259356513444-JavaMail-jira@brutus%3e</id>
<updated>2009-11-27T21:15:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47119#action_47119
] 

Wes Wannemacher commented on WW-3343:
-------------------------------------

this may be a false alarm, the test I uploaded is wrong, but I am going to check to see if
I can reproduce in the project where I am having the problem.

&gt; multiple forms on a single page renders wrong namespace in form action url
&gt; --------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3343
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3343
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Actions
&gt;    Affects Versions: 2.1.8.1
&gt;            Reporter: Wes Wannemacher
&gt;         Attachments: testForm.zip
&gt;
&gt;
&gt; so, this has been bugging me for a while, I decided to test it out. A JSP like that contains
something like the following - 
&gt; &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt;
&gt; &lt;html&gt;
&gt; &lt;body&gt;
&gt; &lt;h2&gt;Hello World!&lt;/h2&gt;
&gt; &lt;s:form action="foo" namespace="/"&gt;
&gt; &lt;s:submit /&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;s:form action="bar" namespace="/baz"&gt;
&gt; &lt;s:submit /&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; When the page is rendered, the second form will not respect the /baz namespace. I created
a sample app and will upload it here. I suspect the ServletUrlRenderer is the culprit, but
I'll research more. If someone gets this fixed before me, that's fine, I wanted to post it
to JIRA quick because this bug is a pain in my tuches. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3343) multiple forms on a single page renders wrong namespace in form action url</title>
<author><name>&quot;Wes Wannemacher (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1655057221.1259345713249.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1655057221-1259345713249-JavaMail-jira@brutus%3e</id>
<updated>2009-11-27T18:15:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Wes Wannemacher updated WW-3343:
--------------------------------

    Attachment: testForm.zip

this is a simple web-app to demonstrate the problem. You can unzip it and `mvn tomcat:run`
it to see the problem. Go to http://localhost:8080/testForm/index.action and then view the
source. Compare it against the JSP and what you would expect.

&gt; multiple forms on a single page renders wrong namespace in form action url
&gt; --------------------------------------------------------------------------
&gt;
&gt;                 Key: WW-3343
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3343
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Core Actions
&gt;    Affects Versions: 2.1.8.1
&gt;            Reporter: Wes Wannemacher
&gt;         Attachments: testForm.zip
&gt;
&gt;
&gt; so, this has been bugging me for a while, I decided to test it out. A JSP like that contains
something like the following - 
&gt; &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt;
&gt; &lt;html&gt;
&gt; &lt;body&gt;
&gt; &lt;h2&gt;Hello World!&lt;/h2&gt;
&gt; &lt;s:form action="foo" namespace="/"&gt;
&gt; &lt;s:submit /&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;s:form action="bar" namespace="/baz"&gt;
&gt; &lt;s:submit /&gt;
&gt; &lt;/s:form&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; When the page is rendered, the second form will not respect the /baz namespace. I created
a sample app and will upload it here. I suspect the ServletUrlRenderer is the culprit, but
I'll research more. If someone gets this fixed before me, that's fine, I wanted to post it
to JIRA quick because this bug is a pain in my tuches. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3343) multiple forms on a single page renders wrong namespace in form action url</title>
<author><name>&quot;Wes Wannemacher (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c226561841.1259345593809.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c226561841-1259345593809-JavaMail-jira@brutus%3e</id>
<updated>2009-11-27T18:13:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
multiple forms on a single page renders wrong namespace in form action url
--------------------------------------------------------------------------

                 Key: WW-3343
                 URL: https://issues.apache.org/struts/browse/WW-3343
             Project: Struts 2
          Issue Type: Bug
          Components: Core Actions
    Affects Versions: 2.1.8.1
            Reporter: Wes Wannemacher


so, this has been bugging me for a while, I decided to test it out. A JSP like that contains
something like the following - 

&lt;%@ taglib uri="/struts-tags" prefix="s" %&gt;
&lt;html&gt;
&lt;body&gt;
&lt;h2&gt;Hello World!&lt;/h2&gt;
&lt;s:form action="foo" namespace="/"&gt;
&lt;s:submit /&gt;
&lt;/s:form&gt;
&lt;s:form action="bar" namespace="/baz"&gt;
&lt;s:submit /&gt;
&lt;/s:form&gt;
&lt;/body&gt;
&lt;/html&gt;

When the page is rendered, the second form will not respect the /baz namespace. I created
a sample app and will upload it here. I suspect the ServletUrlRenderer is the culprit, but
I'll research more. If someone gets this fixed before me, that's fine, I wanted to post it
to JIRA quick because this bug is a pain in my tuches. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3342) FilterDispatcher URL Pattren</title>
<author><name>&quot;Lukasz Lenart (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1596886221.1259254213588.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1596886221-1259254213588-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T16:50:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47117#action_47117
] 

Lukasz Lenart commented on WW-3342:
-----------------------------------

Please ask question on Struts User Group - user@struts.apache.org

and you can use following mapping:

    &lt;filter-mapping&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;url-pattern&gt;*.action&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;

but please then remember to extract static files from struts-core.jar (the struts folder)


Regards
--
Lukasz

&gt; FilterDispatcher URL Pattren
&gt; ----------------------------
&gt;
&gt;                 Key: WW-3342
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3342
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Dispatch Filter
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Weblogic 10.3
&gt; ICEFaces 1.8.1
&gt;            Reporter: kishore kumar
&gt;            Priority: Blocker
&gt;
&gt; Hi,
&gt; Is there a way to change the FilterDispatcher URL Pattren other than /*?
&gt; I am using ICEFaces and struts2 togeather but due to struts2 URL Pattren ICEFaces requests
are being ignored.
&gt; Can i use url-pattren /*.action  ?
&gt; As per the struts documentation it says to use following
&gt; &lt;filter&gt;
&gt;       &lt;filter-name&gt;struts2&lt;/filter-name&gt;
&gt;       &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt;
&gt;     &lt;/filter&gt;
&gt;     &lt;filter-mapping&gt;
&gt;       &lt;filter-name&gt;struts2&lt;/filter-name&gt;
&gt;       &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
&gt;     &lt;/filter-mapping&gt;

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Closed: (WW-3342) FilterDispatcher URL Pattren</title>
<author><name>&quot;Lukasz Lenart (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c761783371.1259254213616.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c761783371-1259254213616-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T16:50:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lukasz Lenart closed WW-3342.
-----------------------------

    Resolution: Not A Problem
      Assignee: Lukasz Lenart

&gt; FilterDispatcher URL Pattren
&gt; ----------------------------
&gt;
&gt;                 Key: WW-3342
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3342
&gt;             Project: Struts 2
&gt;          Issue Type: Task
&gt;          Components: Dispatch Filter
&gt;    Affects Versions: 2.1.6
&gt;         Environment: Weblogic 10.3
&gt; ICEFaces 1.8.1
&gt;            Reporter: kishore kumar
&gt;            Assignee: Lukasz Lenart
&gt;            Priority: Blocker
&gt;
&gt; Hi,
&gt; Is there a way to change the FilterDispatcher URL Pattren other than /*?
&gt; I am using ICEFaces and struts2 togeather but due to struts2 URL Pattren ICEFaces requests
are being ignored.
&gt; Can i use url-pattren /*.action  ?
&gt; As per the struts documentation it says to use following
&gt; &lt;filter&gt;
&gt;       &lt;filter-name&gt;struts2&lt;/filter-name&gt;
&gt;       &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt;
&gt;     &lt;/filter&gt;
&gt;     &lt;filter-mapping&gt;
&gt;       &lt;filter-name&gt;struts2&lt;/filter-name&gt;
&gt;       &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
&gt;     &lt;/filter-mapping&gt;

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3342) FilterDispatcher URL Pattren</title>
<author><name>&quot;kishore kumar (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c3932643.1259247133691.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c3932643-1259247133691-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T14:52:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
FilterDispatcher URL Pattren
----------------------------

                 Key: WW-3342
                 URL: https://issues.apache.org/struts/browse/WW-3342
             Project: Struts 2
          Issue Type: Task
          Components: Dispatch Filter
    Affects Versions: 2.1.6
         Environment: Weblogic 10.3
ICEFaces 1.8.1
            Reporter: kishore kumar
            Priority: Blocker


Hi,

Is there a way to change the FilterDispatcher URL Pattren other than /*?
I am using ICEFaces and struts2 togeather but due to struts2 URL Pattren ICEFaces requests
are being ignored.

Can i use url-pattren /*.action  ?

As per the struts documentation it says to use following

&lt;filter&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt;
    &lt;/filter&gt;
    &lt;filter-mapping&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3308) javassist trouble on JBoss 5.1</title>
<author><name>&quot;Mykyta Kostovskyy (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1720753269.1259226013574.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1720753269-1259226013574-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T09:00:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47116#action_47116
] 

Mykyta Kostovskyy commented on WW-3308:
---------------------------------------

Well, I am using struts with JBoss 5 and new version of xworks contains javassist which is
also included in the JBoss itself. So on one of the places it has to be removed to avoid the
conflict.

let me know if you have any questions and I would be glad to help.

&gt; javassist trouble on JBoss 5.1
&gt; ------------------------------
&gt;
&gt;                 Key: WW-3308
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3308
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;          Components: Other
&gt;    Affects Versions: 2.1.8
&gt;         Environment: JBoss 5.1 GA, Struts 2.1.8
&gt;            Reporter: Mykyta Kostovskyy
&gt;            Assignee: Lukasz Lenart
&gt;            Priority: Critical
&gt;
&gt; While deploying application that contains Struts 2.1.8 get the following error:
&gt; 17:28:34,437 ERROR [BasicLazyInitializer] Javassist Enhancement failed: hello.Message
&gt; java.lang.RuntimeException: java.lang.IllegalArgumentException: Can not set static javassist.util.proxy.MethodFilter
field hello.Message_$$_javassist_14._method_filter to org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1
&gt; 	at javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:358)
&gt; 	at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:341)
&gt; 	at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:314)
&gt; 	at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:273)
&gt; 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:162)
&gt; 	at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:66)
&gt; 	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:183)
&gt; 	at org.hibernate.tuple.entity.AbstractEntityTuplizer.&lt;init&gt;(AbstractEntityTuplizer.java:158)
&gt; 	at org.hibernate.tuple.entity.PojoEntityTuplizer.&lt;init&gt;(PojoEntityTuplizer.java:76)
&gt; 	at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.&lt;init&gt;(EntityEntityModeToTuplizerMapping.java:80)
&gt; 	at org.hibernate.tuple.entity.EntityMetamodel.&lt;init&gt;(EntityMetamodel.java:325)
&gt; 	at org.hibernate.persister.entity.AbstractEntityPersister.&lt;init&gt;(AbstractEntityPersister.java:457)
&gt; 	at org.hibernate.persister.entity.SingleTableEntityPersister.&lt;init&gt;(SingleTableEntityPersister.java:131)
&gt; 	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
&gt; 	at org.hibernate.impl.SessionFactoryImpl.&lt;init&gt;(SessionFactoryImpl.java:261)
&gt; 	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
&gt; 	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
&gt; 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
&gt; 	at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
&gt; 	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:224)
&gt; 	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
&gt; 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
&gt; 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
&gt; 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
&gt; 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
&gt; 	at java.security.AccessController.doPrivileged(Native Method)
&gt; 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
&gt; 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
&gt; 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&gt; 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
&gt; 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
&gt; 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
&gt; 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
&gt; 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
&gt; 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
&gt; 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
&gt; 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
&gt; 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
&gt; 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
&gt; 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
&gt; 	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
&gt; 	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
&gt; 	at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
&gt; 	at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
&gt; 	at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
&gt; 	at sun.reflect.GeneratedMethodAccessor381.invoke(Unknown Source)
&gt; 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&gt; 	at java.lang.reflect.Method.invoke(Method.java:597)
&gt; 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
&gt; 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
&gt; 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
&gt; 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
&gt; 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
&gt; 	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
&gt; 	at $Proxy38.start(Unknown Source)
&gt; 	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
&gt; 	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
&gt; 	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
&gt; 	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
&gt; 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
&gt; 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
&gt; 	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
&gt; 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
&gt; 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
&gt; 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
&gt; 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
&gt; 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
&gt; 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
&gt; 	at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
&gt; 	at org.jboss.system.ServiceController.start(ServiceController.java:460)
&gt; 	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
&gt; 	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
&gt; 	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
&gt; 	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
&gt; 	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
&gt; 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
&gt; 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
&gt; 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
&gt; 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
&gt; 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
&gt; 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
&gt; 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
&gt; 	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
&gt; 	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
&gt; 	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
&gt; 	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
&gt; 	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
&gt; 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
&gt; 	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
&gt; 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
&gt; 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
&gt; 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
&gt; 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
&gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
&gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
&gt; 	at java.lang.Thread.run(Thread.java:619)
&gt; Caused by: java.lang.IllegalArgumentException: Can not set static javassist.util.proxy.MethodFilter
field hello.Message_$$_javassist_14._method_filter to org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1
&gt; 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)
&gt; 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150)
&gt; 	at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(UnsafeStaticObjectFieldAccessorImpl.java:61)
&gt; 	at java.lang.reflect.Field.set(Field.java:657)
&gt; 	at javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:354)
&gt; 	... 100 more
&gt; This is due to the fact, that xworks-core-2.1.6.jar that is a part of Struts 2.1.8 is
delivered with javassist code inside, that conflicts with the one inside of JBoss.
&gt; Please help to resolve the problem, since Struts 2.1.8 does not work with previous versions
of xworks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3340) ognl-2.7.3 has a blocker issue</title>
<author><name>&quot;Andrei Ivanov (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c802867045.1259225053547.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c802867045-1259225053547-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T08:44:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47115#action_47115
] 

Andrei Ivanov commented on WW-3340:
-----------------------------------

Please don't forget about the ognl version that's being used and its blocker issue.
It seems that ognl doesn't have an active maintainer anymore.

&gt; ognl-2.7.3 has a blocker issue
&gt; ------------------------------
&gt;
&gt;                 Key: WW-3340
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3340
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Andrei Ivanov
&gt;            Assignee: Lukasz Lenart
&gt;            Priority: Critical
&gt;             Fix For: 2.2.0
&gt;
&gt;
&gt; Because of WW-3197, Struts2 now depends on ognl-2.7.3, which has a blocker issue: http://jira.opensymphony.com/browse/OGNL-149
&gt; Also, xwork-core-2.1.6.jar from the struts-2.1.8.1-all.zip contains javaassist and ognl,
so the ognl classes come from 2 jars.
&gt; It also contains relocated classes from commons-lang and asm.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WW-3341) Dispatcher catches Exceptions silently since 2.1.1</title>
<author><name>&quot;Nicolas Berthet (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1366376278.1259210774224.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1366376278-1259210774224-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T04:46:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/struts/browse/WW-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Nicolas Berthet updated WW-3341:
--------------------------------

    Description: 
Trying to migrate from 2.0.x to 2.1.8.1, I noticed that the exception handling from the Dispatcher
changed.

Before :
The dispatcher threw a ServletException and it was propagated through the stack

Since 2.1.1 :
The dispatcher catch all Exceptions and call sendError

The problem is that the exception will not go up through the stack as it was the case before,
so nobody in the stack (j2ee filters) will notice this exception (unless checking requests
attributes, which is not a good way).

If you use a javax.servlet.Filter for things such as open-session-in-view, you will not notice
the exception, and maybe fail to rollback your current transaction, same for exception tracing
filters, etc...

It is a severe non-backward-compatible change, it was not mentionned in any of the changelogs.
It seems it has introduced by revision 602665, seems to be related to the fix for WW-218.

&gt;From Dispatcher.serviceAction javadoc...
"All other errors are reported by throwing a ServletException."

The exception handling has to be clarified, I think propagating a ServletException is more
correct as it relies on the container and allow filters to take it into account. 

  was:
Trying to migrate from 2.0.x to 2.1.8.1, I noticed that the exception handling from the Dispatcher
changed.

Before :
The dispatcher threw a ServletException and it was propagated through the stack

Since 2.1.1 :
The dispatcher catch all Exceptions and call sendError

The problem is that the exception will not go up through the stack as it was the case before,
so nobody in the stack (j2ee filters) will notice this exception (unless checking requests
attributes, which is not a good way).

If you use a javax.servlet.Filter for things such as open-session-in-view, you will not notice
the exception, and maybe fail to rollback your current transaction, same for exception tracing
filters, etc...

It is a severe non-backward-compatible change, it was not mentionned in any of the changelogs.
It seems it has introduced by revision 602665, seems to be related to the fix for WW-218.

The exception handling has to be clarified, I think propagating a ServletException is more
correct as it relies on the container and allow filters to take it into account.


&gt; Dispatcher catches Exceptions silently since 2.1.1
&gt; --------------------------------------------------
&gt;
&gt;                 Key: WW-3341
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3341
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.8
&gt;            Reporter: Nicolas Berthet
&gt;            Priority: Critical
&gt;
&gt; Trying to migrate from 2.0.x to 2.1.8.1, I noticed that the exception handling from the
Dispatcher changed.
&gt; Before :
&gt; The dispatcher threw a ServletException and it was propagated through the stack
&gt; Since 2.1.1 :
&gt; The dispatcher catch all Exceptions and call sendError
&gt; The problem is that the exception will not go up through the stack as it was the case
before, so nobody in the stack (j2ee filters) will notice this exception (unless checking
requests attributes, which is not a good way).
&gt; If you use a javax.servlet.Filter for things such as open-session-in-view, you will not
notice the exception, and maybe fail to rollback your current transaction, same for exception
tracing filters, etc...
&gt; It is a severe non-backward-compatible change, it was not mentionned in any of the changelogs.
It seems it has introduced by revision 602665, seems to be related to the fix for WW-218.
&gt; From Dispatcher.serviceAction javadoc...
&gt; "All other errors are reported by throwing a ServletException."
&gt; The exception handling has to be clarified, I think propagating a ServletException is
more correct as it relies on the container and allow filters to take it into account. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WW-3341) Dispatcher catches Exceptions silently since 2.1.1</title>
<author><name>&quot;Nicolas Berthet (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1196955982.1259208493437.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1196955982-1259208493437-JavaMail-jira@brutus%3e</id>
<updated>2009-11-26T04:08:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Dispatcher catches Exceptions silently since 2.1.1
--------------------------------------------------

                 Key: WW-3341
                 URL: https://issues.apache.org/struts/browse/WW-3341
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.1.8, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1
            Reporter: Nicolas Berthet
            Priority: Critical


Trying to migrate from 2.0.x to 2.1.8.1, I noticed that the exception handling from the Dispatcher
changed.

Before :
The dispatcher threw a ServletException and it was propagated through the stack

Since 2.1.1 :
The dispatcher catch all Exceptions and call sendError

The problem is that the exception will not go up through the stack as it was the case before,
so nobody in the stack (j2ee filters) will notice this exception (unless checking requests
attributes, which is not a good way).

If you use a javax.servlet.Filter for things such as open-session-in-view, you will not notice
the exception, and maybe fail to rollback your current transaction, same for exception tracing
filters, etc...

It is a severe non-backward-compatible change, it was not mentionned in any of the changelogs.
It seems it has introduced by revision 602665, seems to be related to the fix for WW-218.

The exception handling has to be clarified, I think propagating a ServletException is more
correct as it relies on the container and allow filters to take it into account.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3340) ognl-2.7.3 has a blocker issue</title>
<author><name>&quot;Lukasz Lenart (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1939193517.1259187853451.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1939193517-1259187853451-JavaMail-jira@brutus%3e</id>
<updated>2009-11-25T22:24:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47114#action_47114
] 

Lukasz Lenart commented on WW-3340:
-----------------------------------

Yes, you're right! I excluded javassist from xwork and included it in struts2

Regards
--
Lukasz

&gt; ognl-2.7.3 has a blocker issue
&gt; ------------------------------
&gt;
&gt;                 Key: WW-3340
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3340
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Andrei Ivanov
&gt;            Assignee: Lukasz Lenart
&gt;            Priority: Critical
&gt;             Fix For: 2.2.0
&gt;
&gt;
&gt; Because of WW-3197, Struts2 now depends on ognl-2.7.3, which has a blocker issue: http://jira.opensymphony.com/browse/OGNL-149
&gt; Also, xwork-core-2.1.6.jar from the struts-2.1.8.1-all.zip contains javaassist and ognl,
so the ognl classes come from 2 jars.
&gt; It also contains relocated classes from commons-lang and asm.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WW-3340) ognl-2.7.3 has a blocker issue</title>
<author><name>&quot;Musachy Barroso (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/struts-issues/200911.mbox/%3c1116397742.1259186533914.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1116397742-1259186533914-JavaMail-jira@brutus%3e</id>
<updated>2009-11-25T22:02:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/struts/browse/WW-3340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=47113#action_47113
] 

Musachy Barroso commented on WW-3340:
-------------------------------------

ognl is already excluded from shading in xwork core pom.xml, but javassist is not

&gt; ognl-2.7.3 has a blocker issue
&gt; ------------------------------
&gt;
&gt;                 Key: WW-3340
&gt;                 URL: https://issues.apache.org/struts/browse/WW-3340
&gt;             Project: Struts 2
&gt;          Issue Type: Bug
&gt;    Affects Versions: 2.1.8
&gt;            Reporter: Andrei Ivanov
&gt;            Assignee: Lukasz Lenart
&gt;            Priority: Critical
&gt;             Fix For: 2.2.0
&gt;
&gt;
&gt; Because of WW-3197, Struts2 now depends on ognl-2.7.3, which has a blocker issue: http://jira.opensymphony.com/browse/OGNL-149
&gt; Also, xwork-core-2.1.6.jar from the struts-2.1.8.1-all.zip contains javaassist and ognl,
so the ognl classes come from 2 jars.
&gt; It also contains relocated classes from commons-lang and asm.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
</feed>
