request的问题String action=request.getParameter("action");if("addnew"==action) addnew();
else if ("savenew"==action) savenew();
else main();///传了参数 action=addnew ; 输出out.print(action)也显示未"addnew"但是 "addnew"==action  就是 =false
各位大哥 谁能帮帮我,我知道这应该是个很简单的问题我以前是做asp和.net的  由于一些原因 必须要做个jsp的项目
时间也紧,帮忙啊   在线等

解决方案 »

  1.   

    if("addnew"==action) addnew(); 此处应该是if(action.equals("addnew"))
    不能直接==,要用equals方法进行判断.
      

  2.   

    在java中的==跟Asp中意义不一样 也就无怪你这样了 呵呵
    把那个 "addnew"==action 改成"addnew".equals(action)吧
    具体为什么 我也就不跟你多说了 就是引用跟object的比较问题 也算是java特色了
      

  3.   

    哦 谢谢  我知道了 哈,可不好意思 以前没做过jsp从.net往上转还真难啊  能告诉我你的qq 吗?=============能再问个问题吗?
    action.equals("addnew")) f返回的应该是个boolean如果我想用的是 switch那该怎么写呢 ??
      

  4.   

    我是2楼 287381541
    你想用switch? ~~说实话没太看懂
    你写写Asp
    我估计能给你翻译一下
      

  5.   

    对了 不要用 action.equals("new")
    要用  "new".equals(action)
    用前者万一action==null就会报错
      

  6.   

    switch只能判断整数类型的,莫非你要用魔法数字来代替你传入的操作?
    我认为这里没有switch的必要.
      

  7.   

    唉~~  用.net 这个问题很容易就解决了没办法啊 !
      

  8.   

    dim action:action=lcase(param("action"))
    select case action
    case "menu":cmenu
    case "menu_del":menu_del
    case "menu_addnew":menu_addnew
    case "menu_savenew"menu_savenew
    case "menu_edit"menu_edit
    case "menu_save"menu_save
    case "user":cuser
    case "user_addnew":user_addnew
    case "user_savenew":user_savenew
    case "user_edit":user_edit
    case "user_save":user_save
    case "user_del":user_del
    case "space":cspace
    case "upfile":upfile
    case "delfile":delfile
    case "data":cdata
    case "backup":backup
    case "data_backok":data_backok
    case "revert":revert
    case "data_revertok":data_revertok
    case else:response.end
    end select