单表单多次提交出现action找不到的原因之一

1.在实际的开发之中,单表单多次提交的方式可以极大程度的减少使用s:form标签。
并且在struts2.xml配置中也不需要写多个action.
使用submit标签可以很好的实现这一功能,例如“
在bookmanage.jsp

  <s:form theme="simple" action="book" method="post"
				enctype="multipart/form-data" validate="true"> 
				<td>
					<jsp:include page="funcselect.jsp"/>
					</td>
 </s:form> 

在funcselect.jsp页面

			<br><s:submit value="图书追加" method="addBook"/><br>
			<br><s:submit value="图书删除" method="deleteBook"/><br>
			<br><s:submit value="图书修改" method="updateBook"/><br>
			<br><s:submit value="图书查询" method="selectBook"/>

在stuts2.xml文件配置

	<action name="book" class="com.action.BookAction">
		<result name="success">/jsp/bookmanage.jsp</result>
		<result name="input">/jsp/bookmanager.jsp</result>
	</action>

这样就可以实现单表多次提交,xml配置也简单。

在这里重点说明出现的坑

<s:submit value=“图书追加” method=“addBook”/>
,method="addBook"的addBook()默认没有传递参数的,**因此,在com.action.BookAction的addBook方法是不能带参数的。**这个很重要,如果带参数会导致addBook方法找不到。
提示的错误信息是:java.lang.NoSuchMethodException:com.action.BookAction.addBook()

猜你喜欢

转载自blog.csdn.net/qq_40790367/article/details/89231385