struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nitin (JIRA)" <>
Subject [jira] [Commented] (WW-4775) Action class Attributes(value stack) is not getting populated through Ajax url request parms
Date Mon, 27 Mar 2017 20:19:41 GMT


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
> ----------------------------------------------------------------------------------------------
>                 Key: WW-4775
>                 URL:
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Value Stack
>    Affects Versions: 2.5.10
>         Environment: 
>            Reporter: nitin
>             Fix For:
> 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,
> 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

View raw message