下拉框是数据库Teacher表中取出来的数据,怎么判断如果我此用户已经填写到User表中,下拉框将不显示这个名字了?如:张三已经被填写了,则下拉框中则没有张三,求教,谢谢,分不多,见谅

解决方案 »

  1.   

    用<s:if/>标签判断啊,如果重复则不显示
      

  2.   

    使用ajax在ready方法中,从Action中拉数据,同时将当前已经填写的值作为参数带过去就行了。
      

  3.   

    数据库中筛选也可以,Teacher-User
      

  4.   

    直接用sql语句(select嵌套)实现啊!在USER表中获取所有的用户,然后not in不就可以实现了么??
    select * from teacher where teacher.userid not in (select userid from user);
      

  5.   

    LZ,你这个select的值不是自己写死的吧。。
    既然是从后台获取的,那你用户表和 Teacher表做下关联,过滤点已经存在的信息。直接在前台<s:if>这个不太好,这个肯定也是知道你是否是张三,还是李四了,何不直接在数据库中查询!
      

  6.   

    最简单的方法就是在数据库进行筛选根据你的条件取出Teacher表和User表的差集就是你需要的数据
      

  7.   

    LZ,你既然是从数据库中来的,那你下拉列表select中的list叶是从数据库查询,何不吧你的 Teacher 和user表做关联,直接判断teacher表中的用户记录在user表中有,就过滤掉。select * from teacher t left join user u on t.userid=u.userid wehre u.userid is null这个样你就排除了张三。等等这种在user表中存在记录的了。不知道表结构是否这样,思路就是这样的了!
      

  8.   

    恩。,懂了。。谢谢,在请问下为什么
    select a.name,a.jobnum,a.password,b.name,a.id,a.status,a.role_id,c.rolename from ( Teacher a left outer join Department b on a.department_id=b.id ) left outer join TTMS_Role c on c.id = a.role_id where a.status=1  order by a.id desc 
     这个语句在Oracle里面可以用,而在Hibernate里面就不能用了额。报错unexpected token: (
      

  9.   

    你看下你程序调用的时候,是用的hibernate的HQL语句查询,还是标准的sql查询!
      

  10.   

    我觉得是HQL与SQL的问题。
    我用的是HQL查询哦。
      

  11.   

    hql肯定不行,既然在oracle数据库里面可以执行,那是标准的sql,
    你根据你表和对应的对象名,自己修改下吧!这个不难!
      

  12.   

    是不是HQL里面没有left连接查询啊
      

  13.   

    +1select t.name from teacher t where t.User.id not in (select id from User);
      

  14.   

    Sorry,人家前边回答的挺好,呵呵,看错了,抱歉。