下面就是两个表单, 第一个通过<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>密 码:</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>
谢谢了~~~
8 个解决方案
#1
一个写成from里面,另外的用js提交不就解决了
#2
form name 和 action 为参数用js提交
#3
谢谢两位
按功能来说,第一个完全可以满足了.
现在是学习,想试试多种写法,想知道在<s:form>下,可不可以不用js实现一个<s:form>的提交对应二个甚至是多个action?如果可以,请问怎么弄?
^_^
按功能来说,第一个完全可以满足了.
现在是学习,想试试多种写法,想知道在<s:form>下,可不可以不用js实现一个<s:form>的提交对应二个甚至是多个action?如果可以,请问怎么弄?
^_^
#4
问题已经解决.
参数了struts 2.1.6下的一个例子.
修改<s:form>如下即可
参数了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
^_^
应该是:onclick
^_^
#6
当然可以了阿
你可以用action!method的形式提交阿
想多少个都可以
你可以用action!method的形式提交阿
想多少个都可以
#7
你看这样如何:
1、Struts.xml
在一个Action里指定多个方法,一个叫login,一个叫regist
2、XxxAction.java
在该Action中添加两个方法,一个叫login(),一个叫regist()
3、JSP页面
这里为submit按钮指定method属性,即分别为Action中的方法login、regist
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
这个好.不过 login会出错
<s:submit name="submitBtn" value="登录" method="login"/>
<s:submit name="submitBtn" value="注册" method="regist"/>
换成login就好了呀.
可惜已经结贴了....
嘿嘿.谢谢~~~
#1
一个写成from里面,另外的用js提交不就解决了
#2
form name 和 action 为参数用js提交
#3
谢谢两位
按功能来说,第一个完全可以满足了.
现在是学习,想试试多种写法,想知道在<s:form>下,可不可以不用js实现一个<s:form>的提交对应二个甚至是多个action?如果可以,请问怎么弄?
^_^
按功能来说,第一个完全可以满足了.
现在是学习,想试试多种写法,想知道在<s:form>下,可不可以不用js实现一个<s:form>的提交对应二个甚至是多个action?如果可以,请问怎么弄?
^_^
#4
问题已经解决.
参数了struts 2.1.6下的一个例子.
修改<s:form>如下即可
参数了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
^_^
应该是:onclick
^_^
#6
当然可以了阿
你可以用action!method的形式提交阿
想多少个都可以
你可以用action!method的形式提交阿
想多少个都可以
#7
你看这样如何:
1、Struts.xml
在一个Action里指定多个方法,一个叫login,一个叫regist
2、XxxAction.java
在该Action中添加两个方法,一个叫login(),一个叫regist()
3、JSP页面
这里为submit按钮指定method属性,即分别为Action中的方法login、regist
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
这个好.不过 login会出错
<s:submit name="submitBtn" value="登录" method="login"/>
<s:submit name="submitBtn" value="注册" method="regist"/>
换成login就好了呀.
可惜已经结贴了....
嘿嘿.谢谢~~~