我说一下:我的数据库有2个表,
当用户36020001登陆的时候,执行搜索的表为: yizhi
当拥护36020002登陆的时候,执行搜索的表为:Erzhi,
所以在登陆的时候,我已经把拥护的登陆ID记录在SESSION中了,
这个页面是去SESSION中的登陆ID去出来用的,做判断的,

解决方案 »

  1.   

    我说一下:我的数据库有2个表,
    当用户36020001登陆的时候,执行搜索的表为: yizhi
    当拥护36020002登陆的时候,执行搜索的表为:Erzhi,
    所以在登陆的时候,我已经把拥护的登陆ID记录在SESSION中了,
    这个页面是去SESSION中的登陆ID去出来用的,做判断的,
      

  2.   

    将if (tempuser=="36020002")
    改为:
    if(tempuser.equals("36020002"))
      

  3.   

    tempuser=="36020002" 比较的是tempuser和"36020002"是否是同一对象
    (当然不是了^^)
    你的原意是要比较tempuser的值是不是36020002所以应写为tempuser.equals("36020002")
    结果就会返回真的
      

  4.   

    将if (tempuser=="36020002")
    改为:
    if(tempuser.equals("36020002"))
    因为tempuser=="36020002"是比较两面三刀个对象是否是同一个对象,也就是比较它们的地址是否是同一个,而tempuser.equals("36020002")才是比较它们的值。
      

  5.   

    呵呵,要注意幼,判断空值使用==,如if(request.getParameter("action")!=null)
    判断字符串用equals
      

  6.   

    考这种初级错误我每天都能见到看来很多人对java最起码的知识都很缺乏没学过几天java就开始写jsp了
    写出来的跟垃圾没什么区别
      

  7.   

    明确:
    在 这里 只是引用 referance 
    即==只能说明 2边的对象的referance是不是同一个,这点不同于别的语言(oop的毛病)
    如果要判断是不是有相同的值,那么就需要看referance所指向的对象存贮的值 是不是相等
    那么就必须要用.equals来进行判断
    明白了这个道理想必 对你程序的分析有些帮助吧。
    还有  为什么不用3元表达式
    datasource=(tempuser.equals("36020002"))?"Erzhi":"yizhi";
    还有一点比较重要 那就是从session中得到的是对象不是值,如果是整形变量
    那么可以写成 ((Integer)session.getAtrribute("...")).Values();
      

  8.   

    谢谢各位,
    我用了:if(tempuser.equals("36020002"))
    还是错误的,
    其他的还没试,
      

  9.   

    楼上的,
    我用了这个代码可以实现,其实我是有很多选择的,不是两个,
    还有什么好的办法吗?
    我也试过,switch,,case,
    datasource=(tempuser.equals("36020002"))?"Erzhi":"yizhi";
      

  10.   

    if(tempuser!=null&&tempuser.equals("36020002"))
      

  11.   

    现在说一下:
    楼上的方法我都试过了,
    datasource=(tempuser.equals("36020002"))?"Erzhi":"yizhi";是可以的,
    但是我现在遇到的不是两个选择,所以这种方法不行,各位看看是不是我的SQL代码有问题啊?SQL=SQL+"  SUM(CASE WHEN TRXCODE = '"+temp4+"' THEN AMOUNT1 ELSE 0 END) AS ABC,";
    SQL=SQL+"  SUM(CASE WHEN TRXCODE = '"+temp4+"' THEN 1 ELSE 0 END) AS COUNT1 ";
    SQL=SQL+"  FROM "+datasource+"  ";
    SQL=SQL+"  where  BUSIDATE>='"+temp1+"' and BUSIDATE<='"+temp2+"' ";
    SQL=SQL+"  GROUP BY DRACCNO";
    SQL=SQL+"  ORDER BY "+temp3+"