我现在有两个表,假如说是student表和class表,学生表内有一个外键,是class表的id,我现在在前台用freemaker遍历学生表的所有内容,但是也想增加一列显示每个学生的班级名称,就是想不起来怎么弄了,谢谢大家帮个忙,比较纠结!

解决方案 »

  1.   

    楼主,不知道我有没有理解你的意思,我是这么想的, 你可以在Student类里面加一个Class属性。(因为一个学生对应一个班级,如果你那里有特殊性,要一个学生对应多个班级的话,那么你就加一个List<Class>属性。
    这样你在遍历学生的时候,也可以通过Student.Class
      

  2.   

    前台遍历肯定能遍历出班级的id,但是我想通过班级的id在前台显示班级名称,再加一个属性没必要,我可以直接加班级名称啊,前台就可以直接遍历了,我以前弄过这个,就是忘了怎么弄得了~
      

  3.   

    哦。你想要这种方法啊不过不推荐  既然你想这么实现,那么我给个方案你吧。你是用JAVA实现还是用.NET实现啊?
    我给个.NET实现给你就是你可以在你的.NET页面的后台写代码的地方,不是页面有<input>标签里面。定义一个方法然后让他返回值为String如
     
         public string getClassName(string id){
               //根据ID去数据库获取className;
         }
     做完这一步,你的数据肯定是要遍历的,,这个时候,你可以在绑定的时候写上<%# Eval("getClassName(id)")  %>
      

  4.   

    楼上的,给我java代码成么,不会.net
      

  5.   

    应该不会差太远。我没有测试过这个代码但是我认为差不多。
       public class Util
         public String getClassName(String id){
             //根据传进来的id获得相应的ClassName;
         }
       }
    然后在JSP页面里这样写
    <% 
        Util u = new Util();
     %>这里是你遍历的地方。
    你在你要显示班级名称的地方这样写。
    <%= u.getClassName(${id}) %>
      

  6.   

    得,要是没人理我我就把分给你了,我在jsp中要是加上java代码项目经理能灭了我,我们项目不准有<% %>,但是可以有<%@ %>....
      

  7.   

    你在工作的话,就不要这样做你完全可以改变你的实体类将你的那个private int ClassId字段换成private Class  class。然后你在查询的时候,就把2张表的数据都查出来。这样比刚刚那样要好的多。