用<html>标签的我会.通过脚本可以把处理的action值改变.但如果换成<s:form>的不会啊,试了好久都没弄好.请高手指点一下.
下面就是两个表单,第一个通过<html>标签提交的没问题.action可以正常响应.
但是第二个<s:form>表单没弄好.不知道哪出问题了.老是
警告: No configuration found for the specified action: '/login3.jsp' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
我觉得应该是写法有问题.
action 配置<action name="*_Action" class="org.action.LoginRegistAction" method="{1}">
<result name="input">/login3.jsp</result>
<result name="error">/error2.jsp</result>
<result name="success">/welcome3.jsp</result>
</action>
表单一<table width="300" align="center">
<form action="login_Action.action" method="post">
<tr>
<td>用户名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;码:</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td><input type="submit" value="登陆"/></td>
<td><input type="submit" value="注册" onClick="regist();"/></td>
</tr>
</form>
</table>
<script>
function regist()
{
//获取页面的第一个表单
targetForm = document.forms[0];
//动态修改表单的action属性
targetForm.action = "regist_Action.action";
}
</script>
表单二<table>
<!-- theme="simple"为格式控制 -->
<s:form theme="simple">
<tr><td><s:textfield name="username"></s:textfield></td></tr>
<tr><td><s:textfield name="password"></s:textfield></td></tr>
<tr align="right">
<td><s:submit action="login_Action" key="login"></s:submit></td>
<td><s:submit action="regist_Action" key="regist"></s:submit></td>
</tr>
</s:form>
</table>谢谢了~~~

解决方案 »

  1.   

      一个写成from里面,另外的用js提交不就解决了
      

  2.   

    form name 和 action 为参数用js提交
      

  3.   

    谢谢两位
    按功能来说,第一个完全可以满足了.
    现在是学习,想试试多种写法,想知道在<s:form>下,可不可以不用js实现一个<s:form>的提交对应二个甚至是多个action?如果可以,请问怎么弄?
    ^_^
      

  4.   

    问题已经解决.
    参数了struts 2.1.6下的一个例子.
    修改<s:form>如下即可<s:form action="login_Action" theme="simple">
    <tr><td><s:textfield key="username"></s:textfield></td></tr>
    <tr><td><s:textfield key="password"></s:textfield></td></tr>
    <tr align="right">
    <td><s:submit key="login"></s:submit></td>
    <td><s:submit action="regist_Action" key="regist" nclick="form.onsubmit=null"></s:submit></td>
    </tr>
    </s:form>
      

  5.   

    nclick少了一个"o"
    应该是:onclick
    ^_^
      

  6.   

    当然可以了阿
    你可以用action!method的形式提交阿
    想多少个都可以
      

  7.   

    你看这样如何:
    1、Struts.xml
      在一个Action里指定多个方法,一个叫login,一个叫regist  <package name="example" extends="struts-default">
        <action name="xxxAction" class="struts2.disp.action.XxxAction" method="login">
          <result name="success">/pages/xxxAction.jsp</result>
        </action>
        <action name="xxxAction" class="struts2.disp.action.XxxAction" method="regist">
          <result name="success">/pages/xxxAction.jsp</result>
        </action>
      </package>
    2、XxxAction.java
      在该Action中添加两个方法,一个叫login(),一个叫regist()  public class XxxAction extends ActionSupport {    /**
         * serialVersionUID
         */
        private static final long serialVersionUID = -329397793534071671L;
        
        /**
         * 用户名
         */
        private String username;
        
        /**
         * 密码
          */
        private String password;    /**
         * 这里处理点击“登录”按钮的业务
         * @return
         * @throws Exception
         */
        public String login() throws Exception {
            
            System.out.println("用户登录");
            
            return SUCCESS;
        }
        
        /**
         * 这里处理点击“注册按钮的业务”
         * @return
         * @throws Exception
         */
        public String regist() throws Exception {
            
            System.out.println("用户注册");
            
            return SUCCESS;
        }    /**
         * 以下是Getter、Setter方法,略……
         */    public String getUsername() {
            return username;
        }    public void setUsername(String username) {
            this.username = username;
        }    public String getPassword() {
            return password;
        }    public void setPassword(String password) {
            this.password = password;
        }
    }
    3、JSP页面
       这里为submit按钮指定method属性,即分别为Action中的方法login、regist  <s:form action="example/xxxAction.action" method="post" >
      <table>
        <tbody>
          <tr>
            <td>
              <s:textfield name="username" label="用户名" />
            </td>
          </tr>
          <tr>
            <td>
              <s:password name="password" label="密码" />
            </td>
          </tr>
          <tr>
            <td colspan="2">
              <s:submit name="submitBtn" value="登录" method="login"/>
              <s:submit name="submitBtn" value="注册" method="regist"/>
            </td>
          </tr>
        </tbody>
      </table>
    </s:form>
      

  8.   


    <s:submit name="submitBtn" value="登录" method="login"/>
    <s:submit name="submitBtn" value="注册" method="regist"/>
    这个好.不过login会出错
    换成login就好了呀.可惜已经结贴了....
    嘿嘿.谢谢~~~