JavaでWebプロジェクトを開発するためにMVCを使用しています。
私の問題は、クラスから 3 つの異なる Bean を返す必要があることです。3 つの Bean にはすべて複数のオブジェクトがあるため、現在、同じ Bean オブジェクトをそれぞれリストに追加し、3 つの異なるリストを返しています。
より明確にするために、コメントを格納するテーブルからすべてのコンテンツを取得する必要があります。したがって、すべてのコメント テキストは、comment と呼ばれる 1 つの Bean に格納され、listcomment と呼ばれるリストに追加されます。コメントを作成したメンバーの名前は member という別の Bean に追加され、listmember というリストに追加されます。
これらの Bean を両方とも同じリストに追加できる方法はありますか?
public class TeleCommentView {
int qid;
TeleComment comment;
TeleHospital hospital;
doctorperson doctor;
ConnectionFile connection = new ConnectionFile();
List<TeleComment> listcomment = new ArrayList<TeleComment>();
List<doctorperson> listdoctor = new ArrayList<doctorperson>();
List<TeleHospital> listhospital = new ArrayList<TeleHospital>();
public TeleCommentView(int qid)
{
this.qid = qid;
process();
}
public void process()
{
int count=0;
try
{
Connection con = connection.connectionfile();
PreparedStatement pstmt = con.prepareStatement("select TeleHospital.HospitalName,DoctorDetail.Name,TeleComment.Comment,TeleComment.SDate from"
+ "( (TeleComment left join TeleHospital on TeleHospital.HospitalId=TeleComment.Hid) "
+ "left join DoctorDetail on DoctorDetail.DoctorId = TeleComment.Did) "
+ "where TeleComment.Qid=?");
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
comment = new TeleComment();
comment.setComment(rs.getString("Comment"));
comment.setSdate(rs.getDate("SDate"));
listcomment.add(count,comment) ;
/******End of comment**************/
//Add doctor or hospital name as required
doctor = new doctorperson();
hospital = new TeleHospital();
if(rs.getString("HospitalName").equals(null))
{
doctor.setName(rs.getString("Name"));
listdoctor.add(count,doctor);
}
else
{
hospital.setHospitalname(rs.getString("HospitalName"));
listhospital.add(count,hospital);
}
count++;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public List getCommentList()
{
return listcomment;
}
public List getDoctorList()
{
return listdoctor;
}
public List getHospitalList()
{
return listhospital;
}
}