[
https://issues.apache.org/struts/browse/WW-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44404#action_44404
]
Dave Newton commented on WW-2722:
---------------------------------
You were way nicer than I was going to be; it's a good thing I got involved in
a different conversation before replying.
Aren't booleans JavaBean-compliant if they only have a setX() and isX() though?
> struts2/ognl confuse setXXX with isXXX method names
> ---------------------------------------------------
>
> Key: WW-2722
> URL: https://issues.apache.org/struts/browse/WW-2722
> Project: Struts 2
> Issue Type: Bug
> Components: Expression Language
> Affects Versions: 2.0.11
> Environment: Tomcat5.5 winxp eclipse3.3 - struts2.11 with default
> interceptor stack, spring ioc and jdbc, dead simple crud system
> Reporter: Etharo
> Priority: Minor
>
> I had a major problem figuring out why I got this error:
> ERROR http-8180-Processor25
> com.opensymphony.xwork2.interceptor.ParametersInterceptor -
> ParametersInterceptor - [setParameters]: Unexpected Exception caught setting
> 'model.user.username' on 'class com.mycompany.actions.UserAction: Error
> setting expression 'model.user.username' with value
> '[Ljava.lang.String;@12dcb8c'
> *slightly renamed vars/obj
> The model, had these functions:
> public User getUser() { return this.user; }
> public void setUser( User u ) { this.user = u; }
> public boolean isUser() { return ( this.user == null ? false : true ); }
> In my jsp:
> <s:textfield id="username" name="model.user.username" size="8" />
> I have wasted alot of time on this stupid issue. How on earth does the
> expression confuse model.user.username with getModel().isUser()??? Once the
> isUser() was removed - everything worked like charm.
> Struts is full of shitty undebuggable stufs like this, and retarded error
> msg. I have searched the net all over the place, struts guides, this jira,
> mailing lists - nothing.
> - The guide needs an update on the matter of NOT POSSIBLE WHAT SO EVER to
> have a isXXX method.
> - The error message should output what struts/ognl tried to evaluate the
> string as since it failed. "I failed, sry" doesn't quite help. It would be
> alot more helpful to see something like "the expression model.user.username
> was evaluated as getModel().isUser().." and I would maybe easier seen the
> problem.
> - Add a tiny "if devmodus && foundMessySetGetIsCode() - then println "that
> isUser() function is maybe messing up stuffs??"
> - Add a setting for dumping stacktraces - a line that says "exception
> occured" is so not helpfull.
> - Also add functionality to type the method names completely or partially
> like name="getModel().getUser().setName()" or "model.getUser().name"
> The expressions should only evaluate to set/get methods (unless the last one
> maybe) since there is alot of focus on that. I can't see any logic behind to
> go for an isXXX method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.