Wednesday, December 23, 2009

Re: [Java] Guidance on Struts 1.3

 

In your page.jsp

you have written

*"<html:text property="onlyChild.name"/>"*

*now you are trying to access "name" field within "onlyChild" object, which
is null or not initialized.*

To get rid of this problem, you can modify your getter method of "onlyChild"
field in Father class from

public Child getOnlyChild() {
return this.onlyChild
}

to

public Child getOnlyChild() {
if(this.onlyChild == null)
this.onlyChild = new Child(); //Initialize the object
return this.onlyChild
}

From next time, make sure that whenever you have to access any property of
an object within JSP, the parent object is initialized. Struts tag library
can only take of uninitialized property if they are of primitive data type
or wrapper classed. For eg. String, Integer, Float, Double etc...

I hope this helps.

Thanks.

On Tue, Dec 22, 2009 at 11:22 PM, Thiago Santana <thiagoecatia@gmail.com>wrote:

>
>
> Hello,
>
> My previous use of Struts was on a very very simple application and I was
> able to do well with it. But now I am have a more complex model which I am
> not being able to get around with as I have to build a html form whose
> property maps to the attribute of an attribute of the ActionForm. My doubt
> relies on how to access this "sub-attribute" on teh html form?
>
> In case this is not to clear, I have the following, very unreal scenario:
>
> package sample;
>
> import java.util.*;
> import org.apache.actions.*;
>
> public class Father extends ActionForm{
>
> private String name;
> private Child onlyChild;
>
> //....Getters and setters....//
> }
>
> ---------------------------------------------------------
>
> package sample;
>
> import java.util.*;
> import org.apache.actions.*;
>
> public class Child extends ActionForm{
>
> private String name;
> private int age;
>
> //...Getters and setters...//
> }
>
> ----------------------------------------------------------
>
> page.jsp
>
> (...)
>
> <html:form action="fatherAction">
> Name: <html:text property="name"/><br/>
> <b>Child details</b><br/>
> Only child name: <html:text
> property="onlyChild.name"/><!--????????--><br/>
> Only child age: <html:text
> property="onlyChild.age"/><!----????????????--->
> </html:form>
>
> (...)
>
> ----------------------------------------------------------
>
> When I try it like the example above I get error as it the
> onlyChild.whatever does not exist, does no map to a known attribute it is
> null.... Please let me know how to achieve that... Your help is much
> appreciated...
>
> Merry Xmas in advance!!!
>
> --
> Thank you,
> TS
> +55 21 7524-9415
>
> [Non-text portions of this message have been removed]
>
>
>

--
Mayank

[Non-text portions of this message have been removed]

__._,_.___
Visit http://aiaiai.com or http://jgame.org for more groups to join.
Java Official Group is created for the following topics: Java 2 Enterprise Edition - J2EE, Java 2 Standard Edition - J2SE, Java 2 Micro Edition - J2ME, XML, XSL, XSD, XPATH, Web Services, Jini, JXTA for all type of Java Geeks.
Whoever posts spam / ads / job related message will be BANNED IMMEDIATELY
.

__,_._,___

No comments:

Post a Comment