wood burning stoves
The moose likes JSP and the fly likes bean and jstl question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "bean and jstl question" Watch "bean and jstl question" New topic

bean and jstl question

nirali shah

Joined: Apr 16, 2009
Posts: 24
This question has been edited for easier reading.
following code I have taken from an example

<jsp:useBean id="bean1" class="ourbeans.player" > <jsp:setProperty name="bean1" property="*" /> </jsp:useBean>

we are using bean instead of putting logic in the jsp page.

But, we should first create the 'player ' bean with all the attributes and getter & setter methods, as shown.

// player.java package ourbeans; public class player{ String name; String place; String game; public player(){ name=" "; place=" "; game=" "; } public void setName(String a){ name=a; } public void setPlace(String b){ place=b; } public void setGame(String c){ game=c; }

How is the values of parameters a, b and c is passed to the setName(String a), setPlace(String b) and setGame(String c) from the form without {param.text} ? If the values are passed from the form using {param.text} , then why not use that directly in the jsp page rathet than calling it through bean ? What is the use of bean in such a situation ?

public String getName(){ return name; } public String getPlace(){ return place; } public String getGame(){ return game; } }

Whats the need of getter methods, when all the variables are public and can be called directly ?

In this demo2.jsp, we collect the data and then display the data entered by the user. Question is, how is data sent to the bean from the form ?

Note that instead of {param.text1}, we are using {bean1.name}. We should carefully name the html form controls with the corresponding attribute names given in the bean. We cannot name the controls as 'text1' etc, now! Question is, we can use {bean1.name} in the jsp page and collect data from bean1 in the jsp page. But how does bean1 get parameters from the form ?

why use ${bean1.name} ? We can directly get parameters from form as ${param.text} ? Whats the point in using bean in this situation ?


Seetharaman Venkatasamy
Ranch Hand

Joined: Jan 28, 2008
Posts: 5575

nirali shah wrote:
Whats the point in using bean ?

to Avoid the scriptlet in jsp.I guess nowadays useBean itself consider as bad practise

nirali shah wrote:
In the class player, all the variables are declared as public. In that case why do we need getter methods ?

I guess , useBean implementation is based on setter and getter of Bean
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63862

Please be sure to use code tags when posting code to the forums. Unformatted code is extremely hard to read and many people that might be able to help you will just move along to posts that are easier to read. Please read this for more information.

You can go back and change your post to add code tags by clicking the button on your post.

[Asking smart questions] [About Bear] [Books by Bear]
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63862

seetharaman venkatasamy wrote:
nirali shah wrote:
Whats the point in using bean ?
I guess nowadays useBean itself consider as bad practise

Not correct in general. As useBean creates a scoped variable, it is still viable for use with the JSTL and EL.

Using it for this purpose, however -- gathering request params in a JSP rather than in a servlet controller -- is rather dated and not best practice.
I agree. Here's the link: http://aspose.com/file-tools
subject: bean and jstl question
It's not a secret anymore!