[
https://issues.apache.org/jira/browse/WW-4775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15943974#comment-15943974
]
nitin commented on WW-4775:
---------------------------
Hi Lukasz, tested the url as you requested and found the cause that is creating
issue. Issue is in the way we define the name of an attribute in action class
that causing this problem of value not getting populated. Issue happens when
first letter of an attribute name is in small letter and immediate second
letter is capital (for e.g. fName). To Explain this please check the example
below.
//In Action Class
private String lName = null;
//in above example Attribute lName first character is small letter 'l'
followed by capital letter 'N'.
when attribute name is like above . the getter and setter methods generated
would be:
getter name = getlName();
setter name = setlName(String );
notice that letter 'l' is not getting capital.
When this is done in new Struts the param lName is passed in a URL the lName is
not getting populated in action class.
Please let me know if you have any question(s)
> Action class Attributes(value stack) is not getting populated through Ajax
> url request parms
> ----------------------------------------------------------------------------------------------
>
> Key: WW-4775
> URL: https://issues.apache.org/jira/browse/WW-4775
> Project: Struts 2
> Issue Type: Bug
> Components: Value Stack
> Affects Versions: 2.5.10
> Environment:
> Reporter: nitin
> Fix For: 2.5.next
>
>
> Passing request attributes through Ajax - url is not populating the Action
> Form Attributes and coming up EMPTY . Instead they are available via request
> object currently.
> It was working correctly in struts 2.3.16 BUT it is NOT working with Struts
> 2.5.10 and posing big concern to upgrade to newer version which we want due
> to security risk.
> To better explain the issue, please check the below snippets. It is big part
> of our applications code and have a big impacts if we need to move to newer
> version.
> Below is sniipet of Ajax Method call to Action name:
> {code:javascript}
> function callAjaxGet(value){
> $.ajax( {
> url : "strustSampleActionNameGet",
> type: "GET",
> data :
> { param : "2"}
> ,
> success : function(response)
> {alert('success');}
> ,
> error : function(e)
> {alert('Message on error');}
> });
> {code}
> ----Action class snippet------
> {code:java}
> public class strustSampleActionClass extends ActionSupport implements
> SessionAware, ServletRequestAware, ServletResponseAware{
> private String param1;
> //getter and setter exist
> public string getParam1(){
> ...
> }
> public void setParam1(){
> ...
> }
> public String execute() throws exception
> { //getParam1 is null // but we can get it through request String parma1req=
> getRequest().getParameter("param1"); }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)