sachin
sachin

Reputation: 1457

how to use <bean:write > tag in strut 1.2?

How to Use <bean:write> tag in Struts 1.2.

In name attribute, what value have to be used? Is bean name your property name?

Upvotes: 7

Views: 85801

Answers (3)

Buhake Sindi
Buhake Sindi

Reputation: 89189

Javadoc for <bean:write>:

Specifies the attribute name of the bean whose property is accessed to retrieve the value specified by property (if specified). If property is not specified, the value of this bean itself will be rendered.

In essence, if you have a JavaBean (with getters and setters),

Person person = new Person;
request.setAttribute("person", person);

by setting <bean:write name="person" property="age" />, you're telling Struts to first find person object first from PageContext scope. If not found, then request, then session, then application scope.

The property="age" attribute (from <bean:write /> tag), will then call the getter method getAge() from the Person object (irrespective of whether there's an instance variable called age on the bean).

Hope this helps.

Upvotes: 33

Cameron
Cameron

Reputation: 2306

The "name" attribute should specify the name of the bean. For example, if you're attempting to output a property from an ActionForm, the name attribute should be set to the name of the ActionForm, and the property attribute should be set to the property of the ActionForm you want to write. So in this case you might do:

<bean:write name="productInfo" property="summary" />

If you declare a non-ActionForm bean using a tag for example, then the name attribute would be set to the name of that defined bean:

<bean:define id="displayText" value="Text to Display" />
<bean:write name="displayText" />

Note that the property attribute is missing in this case, in which case the tostring value of the bean itself will be displayed.

Upvotes: 0

Vlad
Vlad

Reputation: 10780

In order to display person.getAge() you would use

<bean:write name="person" property="age" />

Upvotes: 4

Related Questions