java中,如图所示,在一个类中定义了一个Category(一个对象)的变量,如何在后台获取这个对象的值呢

如题所述

可以在类里面加上get和set方法,get方法是给你来获取值的,set方法是给对象赋值的
举例
public class Flower {
private Integer fid;
private String fname;
private double fprice;

public Flower(){

}
public Flower(Integer fid,String fname,double fprice){
this.fid=fid;
this.fname=fname;
this.fprice=fprice;
}
public Integer getFid() {
return fid;
}
public void setFid(Integer fid) {
this.fid = fid;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public double getFprice() {
return fprice;
}
public void setFprice(double fprice) {
this.fprice = fprice;
}

public static void main(String[] args) {
Flower f1=new Flower();//创建一个对象,调用的是无参的构造函数,这时对象是空的,即没值
f1.setFid(1001);//通过set方法赋值
f1.setFname("水仙");
f1.setFprice(100);
System.out.println(f1.getFname());//通过get方法取值

Flower f2 = new Flower(1002,"玫瑰",200);//调用有参构造函数,直接赋值
System.out.println(f2.getFname());//通过get方法取值
}
}追问

在Flower类中我有写get,set方法的,public Category getFcategory() {return fcategory;},然后在后台用String fcategory = req.getParameter("fcategory");获取jsp页面中的值,这样获得的值是字符串,可是若要flower.setFcategory()将值存入数据库时,需是一个Category对象,该怎么把这个值封装进去呢?

追答

Category为什么要单独定义成一个类?里面有哪些属性?数据库里有哪些字段
既然是类型,可以直接在flower里定义成 String类型啊

追问

是可以在flower类中定义成string类型,可以用category一个categoryname属性来代替,但是从面向对象的角度来说,定义成Category比较好,而且应该可以实现的

追答

你数据库里怎么把一个对象存储到字段里?你的Flower类对应的表里关于种类的是哪一个字段?
是categoryname吗?是char类型的吗

追问

不是categoryname,应该是categoryid,我是用hibernate自动生成数据库表的,通过多对一关联

追答

String fcategory = req.getParameter("fcategory");这个fcategory 是一个Category对象?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-22
数据库操作也是从对象中取出数据来单个操作的,我看你追问的问题好像是要做一个从JSP到数据库的操作,举个简单的例子,普通的登陆验证,一般填写用户名和密码,JSP上的form有username,password两个字段,你在你的doPost方法中中通过
String username = request.getParameter("username");
String password = request.getParameter("password");
来获取了页面的输入,再通过setter方法注入到一个User对象中
UserBean bean = new UserBean();
bean.setUserName(username);
bean.setPassword(password);
再将这个bean对象传递给数据库操作类UserDao进行登陆判断
UserDao dao = new UserDao();
dao.login(bean);
在UserDao里面的操作实际上还是通过getter方法来取出bean里面的值进行验证:
String sql = "select count(1) from t_user where username = '"+bean.getUserName()+"' and password = '"+bean.getPassword()+"' and status = 1";追问

在dao中

第2个回答  2012-03-22
改类中有getFcategory()方法吧,Flower f = new Flower();
f.getFcategory();就可以了,获取Category具体的属性值,接着get,即f.getFcategory().get....;追问

flower.setFcategory(flower.getFcategory().getCaname(fcategory));这样写会报错

追答

getCaname(),这个返回的不是Category对象啊,当然不行啊。
flower.setFcategory(fcategory);你只能这样set;

第3个回答  2012-03-22
在类中写get。。set。。方法,通过对象的get方法,获得Category对象,Category对象里应该有值,
相似回答