问题如上,刚实习,平时使用的struts时候,都是一个action对应一个操作,但是这边却是说要在一个action中对应好几个操作的,用一个隐藏的字符串变量进行判断。不知道怎么样做为好。

解决方案 »

  1.   

    一个action可以写多个操作方法 例如增删改查
    主要看你的action是怎么配置的 是通配符 还是指定一个具体的方法
      

  2.   

    action 对应几个操作 和你继承的父类有关系
    你说的一对一操作 应该是继承了Action 改成继承DispatchAction 
    就可以在一个action中使用多个方法.
      

  3.   


    一般不在action中做逻辑运算的嘛?在struts-config.xml里面配置好具体的action对应,然后直接在action中调用后面的方法进行数据库交互。还是action都用同一个,根据传进来的标志字符串进行判断需要的操作。这样的俩方式,那个比较好?
      

  4.   


    那现在是继承自Action。。他们是说,在execute中进行判断要进行的数据库操作。
      

  5.   

    嘿嘿~ Action.do?init=方法懂不?
      

  6.   

    对应一个动作的是继承的Action 对应多个动作就是继承的DispatchAction 通过在页面设置一个隐藏标签来指定Action中需要访问的方法<input type="hidden" name="operate" value="方法名"/>
    然后Struts的配置文件中Action节点里面加上个parameter="operate"   在地址栏直接访问也行后面加上个?operate="方法名"。
      

  7.   

    做多个操作要不然你就是用DispatchAction
    要不然你就只能在Action中根据接收的值做if判断了
      

  8.   

    嘿嘿~ Action.do?init=方法在Action后面传一个参数,到了Action层判断相对应的参数做相对应的处理
      

  9.   

    顶二楼、七楼的绝对没有错这个案例已经做过N次了把继承的类改成DispatchAction、参数parameter="operate"、还有就是把Action中的execute方法去掉把方法名字改成你传进来的operate=“”引号里面的值绝对OK
      

  10.   

    谢谢各位大侠的回答哈,还是采取了在传入的form里面设置隐藏值,然后根据这个隐藏值决定执行的是那个数据库操作。呵呵~