Simple java question...

G

gbattine

Hi guys,
please help me with this simple java question.
I'm developing a jsf application but i have a java question.
Suppose i have an authentication bean with 3 attributes,login,password
and team that load the values inserted in a login page.
In another bean i have a method that performs inserting an experiment
into a db.
My prepared statement is like...

pst2.setString(1, name);
pst2.setString(2, team);
pst2.setString(3, platform);
etc...

but i want name is the login attribute and team the team attribute of
authenticationBean.
How can i pass these values to my pst.2setString?

Please help me
 
M

M.J. Dance

gbattine said:
Hi guys,
please help me with this simple java question.
I'm developing a jsf application but i have a java question.
Suppose i have an authentication bean with 3 attributes,login,password
and team that load the values inserted in a login page.
In another bean i have a method that performs inserting an experiment
into a db.
My prepared statement is like...

pst2.setString(1, name);
pst2.setString(2, team);
pst2.setString(3, platform);
etc...

but i want name is the login attribute and team the team attribute of
authenticationBean.
How can i pass these values to my pst.2setString?

Your "authentication bean with 3 attributes", say it's named auth, probably has
the means of aquireing such data. Either a public field or, more likely, a
getter of some sort. Like that: auth.name or auth.getName(). Stick that into
pst2.setString().

BTW: this is really basic stuff. You should do some RTFM on the subject (Java as
well as JSF).
 
M

Moiristo

M.J. Dance said:
Your "authentication bean with 3 attributes", say it's named auth,
probably has the means of aquireing such data. Either a public field or,
more likely, a getter of some sort. Like that: auth.name or
auth.getName(). Stick that into pst2.setString().

BTW: this is really basic stuff. You should do some RTFM on the subject
(Java as well as JSF).

I think he means that he wants to know how to use a backing bean in
another class. Although it's true that some RTFM would not be a bad
thing :)D). On topic, I use a static function to evaluate registered
javabeans (not my own idea). Create a class ViewUtils.java with this method:

public static Object eval(String expr) {
FacesContext context = FacesContext.getCurrentInstance();
ValueBinding binding
= context.getApplication().createValueBinding(expr);
return binding.getValue(context);
}

noy you can retrieve a managed bean in any class by calling:
Object bean = ViewUtils.eval("#{managed_bean_name}");
 
G

gbattine

thanks guys,
but my problem isn't resolved!
I've created this class

package giu;

import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;

public class ViewUtils {
public static Object eval(String expr) {
FacesContext context = FacesContext.getCurrentInstance();
ValueBinding binding
= context.getApplication().createValueBinding(expr);
return binding.getValue(context);
}
}

and in my experiment class i have the add method that is like(i post
the important code)


if (conn != null) {
Object bean = ViewUtils.eval("#{authenticationBean}");
PreparedStatement pst2 = null;
pst2 = conn.prepareStatement("INSERT INTO
esperimento(username,nometeam,piattaforma,links_url,tipoesperimento,controlliqualita)
VALUES (?,?,?,?,?,?)");
pst2.setString(1, bean.loginName);
pst2.setString(2, bean.teamName);
pst2.setString(3, platform);

....................................etc
where authenticationBean is the bean from which i want extracting
loginName and teamName fields..
my compiler says loginName and teamName can't be resolved...please help
me!!!
 
M

Moiristo

gbattine said:
package giu;

import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;

public class ViewUtils {
public static Object eval(String expr) {
FacesContext context = FacesContext.getCurrentInstance();
ValueBinding binding
= context.getApplication().createValueBinding(expr);
return binding.getValue(context);
}
}

and in my experiment class i have the add method that is like(i post
the important code)


if (conn != null) {
Object bean = ViewUtils.eval("#{authenticationBean}");
PreparedStatement pst2 = null;
pst2 = conn.prepareStatement("INSERT INTO
esperimento(username,nometeam,piattaforma,links_url,tipoesperimento,controlliqualita)
VALUES (?,?,?,?,?,?)");
pst2.setString(1, bean.loginName);
pst2.setString(2, bean.teamName);
pst2.setString(3, platform);

...................................etc
where authenticationBean is the bean from which i want extracting
loginName and teamName fields..
my compiler says loginName and teamName can't be resolved...please help
me!!!

Now this is *really* basic stuff. How much experience do you have in
basic java programming? Anyway, you have to cast bean to the appropriate
class.
 
M

Moiristo

gbattine said:
thanks,
but can you help me with code?
thanks

Just like: AuthenticationBean bean = (AuthenticationBean)
ViewUtils.eval("#{authenticationBean}");
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,778
Messages
2,569,605
Members
45,238
Latest member
Top CryptoPodcasts

Latest Threads

Top