我的目的是:在与表单对应的OpForm中获得属性op的值,当op="查询"时,OpForm根据得到的name属性的值,传递给相应的 OpAction,在action中调用相应方法把name的这条数据查询上来,并且把对应的数据赋值到<table>中的name和eamil,在文本框显示相应的值,然后再点击op="删除"时,在action中调用删除方法,删掉数据库的该条数据。  总的说就是点击"查询"时,查上的数据显示在<table>的文本框中,再点击删除时就进行"删除"操作表单:
<from method="post" action="query.do"/>
  <input type="text" name="name"/>
  <input type="submit" name="op" value="查询"/><br>
  <table>
    <tr>
       <td>名字</td>
       <td><input type="text" name="name"/></td>
    </tr>
    <tr>
       <td>email</td>
       <td><input type="text" name="email"/></td>
    </tr>
    <tr>
       <td colspan="2">
           <input type="submit" name="op" value="删除"/>
       </td>
    </tr>
  </table>
</form>OpForm:
public OpFrom extends ActionForm{
   private String name,email,op;
   public String getName(){
         return name;
        }
   public void setName(String name){
         this.name=name;
        }
  public String getEmail(){
         return email;
        }
   public void setEmail(String email){
         this.email=email;
        }
 public String getOP(){
         return op;
        }
   public void setEmail(String op){
         this.op=op;
        }
  }OpAction:
  public OpAction extends Action{
  
     .....excute(...){
    
     
      if(op.equals("查询")){
          String name = of.getName();//获得要查询的name
          查询操作
        }
    
      if(op.equals("查询")){
         删除操作
       }
       ......
   return mapping.findForward(...);//转向
   }
}
我要问的是: Opform of = new OpForm();
             String op = of.getOP();//获得按钮op值
这样可以拿到op的值吗?我这样的思路对吗?到底应该怎么做才能实现我的目的?
急等ing!大家帮帮忙,谢谢!

解决方案 »

  1.   

    为什么不用DispathAction
    然后将submit改成button,用JavaScript提交不同的parameter值使用不同的方法呀
    比如
    document.myform.action="action.do?method=findAction"
    document.myform.submit();
    document.myform.action="action.do?method=delAction"
    document.myform.submit();
    比这个简单的多
      

  2.   

    对 改掉它不同的action 不同的button 
    var re=docuument.getElementById("from");
    re.action="url";
      

  3.   


    一直用DispathAction 大概大多数都是这么用吧 一个form中多个提交 肯定离不开js去控制的
      

  4.   

    一般确实是用dispatch,不过中文的没试过
      

  5.   

    写错了,现在修改一下,在那个OpAction修改
    我的目的是:在与表单对应的OpForm中获得属性op的值,当op="查询"时,OpForm根据得到的name属性的值,传递给相应的  OpAction,在action中调用相应方法把name的这条数据查询上来,并且把对应的数据赋值到<table>中的name和eamil,在文本框显示相应的值,然后再点击op="删除"时,在action中调用删除方法,删掉数据库的该条数据。  总的说就是点击"查询"时,查上的数据显示在<table>的文本框中,再点击删除时就进行"删除"操作表单:
    <from method="post" action="query.do"/>
      <input type="text" name="name"/>
      <input type="submit" name="op" value="查询"/><br>
      <table>
      <tr>
      <td>名字</td>
      <td><input type="text" name="name"/></td>
      </tr>
      <tr>
      <td>email</td>
      <td><input type="text" name="email"/></td>
      </tr>
      <tr>
      <td colspan="2">
      <input type="submit" name="op" value="删除"/>
      </td>
      </tr>
      </table>
    </form>OpForm:
    public OpFrom extends ActionForm{
      private String name,email,op;
      public String getName(){
      return name;
      }
      public void setName(String name){
      this.name=name;
      }
      public String getEmail(){
      return email;
      }
      public void setEmail(String email){
      this.email=email;
      }
     public String getOP(){
      return op;
      }
      public void setEmail(String op){
      this.op=op;
      }
      }OpAction:
      public OpAction extends Action{
       
      .....excute(...){
        
        Opform of = (OpForm)form;
        
      if(op.equals("查询")){
      String name = of.getName();//获得要查询的name
      查询操作
      }
        
      if(op.equals("查询")){
      删除操作
      }
      ......
      return mapping.findForward(...);//转向
      }
    }
    我要问的是: Opform of = (OpForm)form;
      String op = of.getOP();//获得按钮op值
    这样可以拿到op的值吗?我这样的思路对吗?到底应该怎么做才能实现我的目的?
    急等ing!大家帮帮忙,谢谢!
      

  6.   

    <input type="submit" name="op" value="查询"/>
    <input type="submit" name="op" value="删除"/>String result = request.getParameter("op");这样可以取到提交的submit的value(查询/删除),照你写的那样可以取到op的值的.
      

  7.   

    只能有一个是submit类型 另一个必须要以参数形式直接调action的方法吧