我的jsp页面有1个form需要多个submit按钮并调用同1个action的多个方法,jsp代码如下:
<s:submit id="search" name="search" type="button" action="listUserAction" method="list" value=" 搜索 " align="left">
</s:submit>
<s:submit id="add" name="add" type="button" action="listUserAction" method="viewAdd" value=" 新增用户 " align="left">
</s:submit>
struts文件如下:
<action name="listUserAction" class="Frame0101Action">
<result name="success">/jsp/0100/UserList.jsp</result>
<result name="add">/jsp/0100/UserAdd.jsp</result>
<result name="error">/jsp/error.jsp</result>
</action>
Action中有多个方法:list方法返回:success/error
viewAdd返回add
但是我点击搜索和新增用户按钮都是调用的viewAdd方法,如果把新增用户的submit去掉,就可以调用list方法了,再继续在jsp中增加调用其他方法的按钮都还是调用viewAdd方法,我不知道为什么总是调用同一个方法,难道有什么参数没设置对吗?请各位专家指点,谢谢!!
<s:submit id="search" name="search" type="button" action="listUserAction" method="list" value=" 搜索 " align="left">
</s:submit>
<s:submit id="add" name="add" type="button" action="listUserAction" method="viewAdd" value=" 新增用户 " align="left">
</s:submit>
struts文件如下:
<action name="listUserAction" class="Frame0101Action">
<result name="success">/jsp/0100/UserList.jsp</result>
<result name="add">/jsp/0100/UserAdd.jsp</result>
<result name="error">/jsp/error.jsp</result>
</action>
Action中有多个方法:list方法返回:success/error
viewAdd返回add
但是我点击搜索和新增用户按钮都是调用的viewAdd方法,如果把新增用户的submit去掉,就可以调用list方法了,再继续在jsp中增加调用其他方法的按钮都还是调用viewAdd方法,我不知道为什么总是调用同一个方法,难道有什么参数没设置对吗?请各位专家指点,谢谢!!
解决方案 »
- 为什么Cookie里面键对应的值不能放文字?
- 关于预测
- 哪里下载java ee 的jdk 啊?
- 请Spring高手回答:Spring2和Struts1.X整合中MappingDispatchActionSupport的用法方法
- JTextField
- 讨论!!!,csdn社区是否应该有j2ee版本。
- ssh中有实体类,怎么逆向生成数据表结构
- 用com.microsoft.jdbc.sqlserver.SQLServerDriver的时候要把驱动包放到哪个目录下?
- cmr调用错误:A CMR collection may only be used within the transction in which it was created
- RMI中怎样做到共享锁???
- MiddleGenIDE导出视图出不来
- 高手请讲!
<action name="listUserAction" class="Frame0101Action" method="list" //你要用s:submit这个必须配置,而且只能配置1个>
<result name="success">/jsp/0100/UserList.jsp </result>
<result name="error">/jsp/error.jsp </result>
</action> <action name="addAction" class="Frame0101Action" method="viewAdd">
<result name="add">/jsp/0100/UserAdd.jsp </result>
<result name="error">/jsp/error.jsp </result>
</action>在<s:submit onclick="js函数改变form的action">
struts.xml配置:
<action name="listUserAction" class="Frame0101Action" method="list" >
<result name="success">/jsp/0100/UserList.jsp</result>
<result name="error">/jsp/error.jsp</result>
</action>
<action name="addUserAction" class="Frame0101Action" method="viewAdd" >
<result name="add">/jsp/0100/UserAdd.jsp</result>
<result name="error">/jsp/error.jsp</result>
</action>
js代码:
function AddUser() {
alert("AddUser");
document.UserForm.action = "addUserAction";
document.UserForm.submit();
}
jsp中只能用传统的标签:
<input type="button" onclick="AddUser()" value=" 新增用户 " align="left">能够执行到js中,但是就是报找不到这个action,我查了下同一个action class在struts中应该可以有多个别名的,为什么找不到呢?
请各位大大指点!
<s:submit id="add" name="add" type="button" onclick="return AddUser()" value=" 新增用户 " align="left">
</s:submit>
还是不行,报一样的错!
<s:submit id="add" name="add" type="button" onclick="return AddUser()" value=" 新增用户 " align="left">
</s:submit>
你加method了么......
这个action是html标签属性的,必须是绝对或相对url地址
另一个用button , onclick方法中document.UserForm.action="改成url地址"
<s:submit id="search" name="method:list" type="button" value=" 搜索 " align="left">
</s:submit>
<s:submit id="add" name="method:viewAdd" type="button" value=" 新增用户 " align="left">
</s:submit>
</s:form>
<s:form action="xxx" method="yyy">
....
<s:submit value="搜索"/>
</s:form>
<s:form action="xxx" method="zzz">
....
<s:submit value="新增用户"/>
</s:form>
....
<s:submit name="save" value="保存" align="left" method="save"/>
<s:submit name="print" value="打印" align="left" method="print" />Struts.xml
<action name="submit" class="action.MoreSubmitAction">
<result name="save" >
/result.jsp
</result>
<result name="print">
/result.jsp
</result>
</action>