各位大侠,小弟现在遇到了个问题,在JSP页面通过ID获取另外一个表的值,这是小弟写的方法:
public int getUser(UserInfo userInfo,UserGroupInfo userGroupInfo){
int result=0;
String sql="select UserGroupInfo.groupName,UserInfo.UGroupId from UserGroupInfo,UserInfo where UserGroupInfo.UGroupId=UserInfo.UGroupId";

UserInfo user=null;
UserGroupInfo group=null;

try {
con=DBConn.getCon();
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next()){
user=new UserInfo();
group=new UserGroupInfo();
user.setUGroupId(rs.getInt("UGroupId"));
group.setUGroupId(rs.getInt("UGroupId"));
group.setGroupName(rs.getString("groupName"));
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConn.closeAll(con, ps, rs);
}
return result;
}
我想在显示页面:真实姓名:张三||所在用户组:1  就在数字1这个地方通过这个ID1获取到另外一个表的真实值,在JSP页面该怎样写获取的方法?
请各位大侠帮帮忙~~~
小弟的分值不够多,请各位包涵

解决方案 »

  1.   

     你可以在jsp上直接调用getUser的这个方法,不过你这个方法明显有点问题,要不你把结果集res离线返回,要不你把userInfor 或者groupInfor对象返回,页面就可以直接用这两个对象啦。
      

  2.   

    public String getGroupName(int UGroupId){
    String sql="select groupName from UserGroupInfo where UGroupId='"+UGroupId+"'";
    try {
    con=DBConn.getCon();
    ps=con.prepareStatement(sql);
    rs=ps.executeQuery();
    String groupName="";
    if(rs.next()){
    groupName=rs.getString("groupName");
    }
    return groupName;
    你只是要获取组名,干嘛再sql里还用多表和条件查询啊。
      

  3.   

     就在数字1这个地方通过这个ID1获取到另外一个表的真实值,在JSP页面该怎样写获取的方法?
    在jsp页面和servlet里写法一样的、我上面不是已经写了?
      

  4.   

    在jsp页面直接饮用这个对象,然后跟java中调用一样。
    <%
      UserInfo userInfo = new UserInfo();
      UserGroupInfo userGroupInfo = new UserGroupInfo();
      UserDao userDao = new UserDao();
      int count = userDao.getUser(userInfo, userGroupInfo);
      //然后可以直接使用userInfo,userGroupInfo了。
    %>
      

  5.   

    也可以在实体上做做文章啊。。可以在user中用实体关联group。
      

  6.   

    我不是要通过UserInfo里边的UGroupId查询出UserGroupInfo里边的groupName并显示在JSP页面吗?这样写我在JSP页面里怎样获取方法呢,获取方法怎样写?
      

  7.   

    //假定你的两个类属性为下:
    User(uid,uname,re);
    UserGroupInfo(ugid,ugname,re,uid);
    //通过uid获取UserGroupInfo信息
    public UserGroupInfo getUserGroupInfo(User user,UserGroupInfo userGroupInfo){
    String sql="select * from UserGroupInfo where UGroupId='"+UserInfo.UGroupId+"'";
    UserGroupInfo group=null;
    try {
    con=DBConn.getCon();
    ps=con.prepareStatement(sql);
    rs=ps.executeQuery();
    if(rs.next()){
    user=new UserInfo();
    group=new UserGroupInfo();
    group.setUgid(rs.getInt("ugid"));
    group.setGroupName(rs.getString("groupName"));
    group.setRe(rs.getString("re"));
    }} catch (SQLException e) {
    e.printStackTrace();
    }finally{
    DBConn.closeAll(con, ps, rs);
    }
    return group;
    }
    //以上方法是你的user信息在加载页面前已经获取
      

  8.   

    JSP页面那个方框内怎样调用,我还是有点不懂。
      

  9.   

    =.=!!楼主跟的让我汗颜了、、、
    再JSP中java代码是写在<%  %>中、其他和servlet没差。