我是初学者,我用的是struts2。当hibernate处理完后生成一个结果集(这个是po吧),我在action中获得这个结果集,那么我应该把这个po转化成vo对吧,看过一个类似问题的解答,借住他的代码。
这个是PO
public class User { private Integer id; private String firstName; private String lastName; private Integer age; set(),get()方法略 }
这个是VO类用于显示
public class VOUser { private String fullname; private int age; set(),get()方法略 }
Action代码
public class HelloWorld extends ActionSupport { private VOUser user; public VOUser getUser() { return user; } public String execute() throws Exception { User poUser = null; /** *****下面这块实现从poUser到VOUser转化****** */ user = new VOUser(); user.setFullname(poUser.getFirstName() + " " + poUser.getLastName()); user.setAge(poUser.getAge()); return SUCCESS; } }
这时我的问题出来了
但是一个Action中不光写一个显示的方法啊,增删查改都有啊
public class HelloWorld extends ActionSupport { private VOUser user; public VOUser getUser() { return user; } public String list() throws Exception { // 内容同上面的Action中的excute()方法 } public String add() throws Exception { // 增加数据 } …… }
这里增加数据的时候用VOUser已经不够用了,必须要User(PO)才行,请问难道我需要在这个Action中定义两个成员变量么,一个VOUser用于显示,一个User用于插入操作么?
问题补充:
可是只定义User,那不就是一个PO从头用到尾么,会产生和显示不能对应的问题啊,所以才需要PO到VO啊,不知我对你的答案的理解对不对
问题补充:
这是vo小于po的情况,要是vo大于po呢?以后碰到在想办法吧