用javascript控制
<script type="text/javascript">
 function setEvent(event)
{
  document.forms[0].action = event;
  document.forms[0].submit();
}在你的button那里 加入onclick="javascript:setEvent('delete.do')"

解决方案 »

  1.   

    <script>
      function f()
    {
      var s=document.buttonName.value;
      if(s.equals("xxxx"))
       ....
    }
    </script>
      

  2.   

    上面说的方法可以,不过还有别的方法。
    就是建个一分发的action,进行分发。
      

  3.   

    我的理解,搂主大概是要在action里,
    判断是哪一个button。如果是这样,
    可以给button设个值,然后,判断
    这个值就可以了。比如:
    <html:button property="delButton" value="Delete"/>
    <html:button property="updButton" value="Update"/>if ( form.getDelButton() != null && form.getDelButton().equals("") ) {
       // Delete button pressed
    }
    else if ( form.getUpdButton() != null && form.getUpdButton().equals("") ) {
       // Update button pressed
    }
      

  4.   

    更正:if ( form.getDelButton() != null && !form.getDelButton().equals("") ) {
       // Delete button pressed
    }
    else if ( form.getUpdButton() != null && !form.getUpdButton().equals("") ) {
       // Update button pressed
    }
      

  5.   

    <html:submit>
    <bean:message key="title.action.delete"/>
    </html:submit>
    <html:submit>
    <bean:message key="title.action.update"/>
    </html:submit>
    我在那里写onclik()呢?
    还有我的javascript code是写在我的jsp?
      

  6.   

    var s=document.formName.buttonName.value;
      

  7.   

    TO:sandyen(杉叶) ( )
    你的方法能够保证两个按钮都提交,但我怎么知道是点击了哪个按钮提交的啊? 
      

  8.   

    如果我没理解错你的意思的话,不要用js,用 dinosaur_cl(慧剑) 的方法。或者在form里只用一个submit按钮,另外增加一组radio button(delete/update/insert)不过有点搞不懂,delete和update怎么会在一个form里?呵呵
      

  9.   

    两个按扭的名字都取一样的.然后在ACTION所指定的类中用request.getParameter("按扭名");返回STRING型号的VALUE
    再判断是1.delete 还是非 2.update
      

  10.   

    用一个银行值来标志,但用户电击不同的按钮,银行值得进行改变,action根据这个银行值来进行不同的动作!
      

  11.   

    先为每一个button设置一个value属性,然后去判断它的属性值就可以了
      

  12.   

    给你一个成功的例子。这是JSPStudio的hello程序,全部代码到ftp://210.36.64.79/kui/hello.rar下载。
    <html:submit value='更新'></html:submit></form ><html:form  method='post' action='/lykAction.do?action=reset'><html:submit value='取消'></html:submit>
    </html:form >
    其中用action=事件类型。
    <%@ page contentType="text/html;charset=GB2312" language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %><html:html>
    <head>
    <title></title>
    <html:base/>
    </head>
    <body bgcolor="white">
    <table cellPadding=2 width="80%" border=2>
    <tr>
    <td><span CONTENTEDITABLE=true>姓名</span></td>
    <td><span CONTENTEDITABLE=true>性别</span></td>
    <td><span CONTENTEDITABLE=true>年龄</span></td>
    <td><span CONTENTEDITABLE=true>删除</span></td>
    <td><span CONTENTEDITABLE=true>编辑</span></td>
    <td><span CONTENTEDITABLE=true>链接</span></td></tr>
    <logic:iterate name='lyk' id='lyk' type='emptyprj.lyk' scope='request'>
    <logic:notEqual name='lykForm' property='action' value='edit'> 
    <tr>
    <td><bean:write name='lyk' property='姓名' /></td>
    <td><bean:write name='lyk' property='性别' /></td>
    <td><bean:write name='lyk' property='年龄' /></td>
    <td><a href="lykAction.do?action=delete&expression=<bean:write name='lyk' property='姓名' />">删除</a></td>
    <td><a href="lykAction.do?action=edit&expression=<bean:write name='lyk' property='姓名' />">编辑</a></td>
    <td><a href="lykAction.do?action=link&expression=<bean:write name='lyk' property='姓名' />">链接</a></td></tr>
    </logic:notEqual> 
    <logic:equal name='lykForm' property='action' value='edit'> 
    <tr>
    <form  method='post' name='lykForm' action="/lyk/lykAction.do?action=update&expression=<bean:write name='lyk' property='姓名' />">
    <td><html:text name='lyk' property='姓名' /></td>
    <td><html:text name='lyk' property='性别' /></td>
    <td><html:text name='lyk' property='年龄' /></td>
    <td><a href="lykAction.do?action=delete&expression=<bean:write name='lyk' property='姓名' />">删除</a></td>
    <td><html:submit value='更新'></html:submit></form ><html:form  method='post' action='/lykAction.do?action=reset'><html:submit value='取消'></html:submit>
    </html:form ></td>
    <td><a href="lykAction.do?action=link&expression=<bean:write name='lyk' property='姓名' />">链接</a></td></tr>
    </logic:equal> 
    </logic:iterate><tr><td  align=middle colSpan=7 ><bean:write property='pagestr' name='lykForm' filter='false' /></td></tr></tr>
    </table>
    </body>
    </html:html>
      

  13.   

    下面是Action处理事件的程序:
    package  emptyprj;import emptyprj.jdbc.util.ConnectionPool;
    import emptyprj.lykDAO;import java.lang.reflect.InvocationTargetException;
    import java.util.Locale;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.commons.beanutils.PropertyUtils;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionServlet;
    import org.apache.struts.util.ModuleException;
    import org.apache.struts.util.MessageResources;import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Collection;public final class lykAction extends Action 
    {
        // 变量定义:
        private Log log = LogFactory.getLog("org.apache.struts.webapp.Example");    private ConnectionPool pool;    public lykAction() {
            pool = ConnectionPool.getInstance();
        }
        //函数定义:
        public ActionForward execute(ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
    throws Exception 
        {
    // Extract attributes and parameters we will need
    Locale locale = getLocale(request);
    MessageResources messages = getResources(request);
    HttpSession session = request.getSession();
    lykForm m_lykForm = (lykForm) form;

         Connection con = null;    try 
            {
           con = pool.getConnection();
           lykDAO m_lykDAO = new lykDAO(con);              String action=request.getParameter("action");
          
           if(action==null)action="find";
               
               if(action.equals("delete"))
               {
                   String expression=request.getParameter("expression");
                   m_lykDAO.removeID(expression);
               }
                ////////////
               if(action.equals("update"))
               {
                     String expression=request.getParameter("expression");
                     lyk m_lyk= new lyk(); 
                   //<update>
                     m_lyk.set姓名(m_lykForm.get姓名());
                     m_lyk.set性别(m_lykForm.get性别());
                     m_lyk.set年龄(m_lykForm.get年龄());
                     //</update>
                  
                   m_lykDAO.update(m_lyk,expression);
               }
               ///////////////
           //<sqlstr>
           String sql="SELECT * FROM dbo.TABLE1";
           //</sqlstr>             //<分页>
            m_lykDAO.setLength(3);//设置每页显示记录数
            int ipage;//当前页
            try 
            {
                String page=request.getParameter("page");//分页参数,读取请求的当前页
                ipage=java.lang.Integer.parseInt(page,10);
            }
            catch (Exception e) 
                 {
                     ipage=m_lykForm.getPage();
                 } 
                 if(ipage<1)ipage=1;
                 Collection col = m_lykDAO.findSQL(sql,ipage);//通过DAO对象查询数据
            request.setAttribute("lyk",col);  //保存数据
           
            String pagestr=m_lykDAO.getPagestr(ipage);//分页字符串,分页内容
            m_lykForm.setPagestr(pagestr);   
                  m_lykForm.setAction(action);  
            request.setAttribute("lykForm",m_lykForm);
                  //</分页>
           return mapping.findForward("success");
        } 
    catch (SQLException e) 
            {
           e.printStackTrace();
           throw new RuntimeException("Unable to get connection.");
         } 
            finally
            {
               try 
                 {
             if (con != null)
               con.close();
                } 
                 catch (SQLException e) 
                 {
             throw new RuntimeException(e.getMessage());
                }
           }    }} 
      

  14.   

    我的一点想法:
    为什么好多人都喜欢把不同的操作放到一个action中呢?
    就算放到一个action中,起码也得用分发机制吧。
    这样可以保证结构清晰,代码也易于维护。
      

  15.   

    用org.apache.struts.actions.DispatchAction
    它包括了add(),updata(),delete()等一些需要的重复的方法