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()