Struts 1.3 中的多个提交按钮

2024-03-17

我的 JSP 中有以下代码:

<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
..
..
<html:form action="update" >
  ..
  ..
  <html:submit value="delete" />
  <html:submit value="edit" />
  <html:sumit value="update" />
</html:form>

而这在struts-config.xml file:

<action path="/delete" name="currentTimeForm" input="/viewall.jsp" type="com.action.DeleteProduct">
   <forward name="success" path="/viewall.jsp" />
   <forward name="failure" path="/viewall.jsp" />
</action>

delete行动,我有edit and update。如果我特别指定名称,效果很好<html:form action="delete">但是,如何使其动态工作update and edit?


您有一个表单和多个提交按钮。问题在于,无论表单中有多少个提交按钮,表单都只能提交一个操作。

现在想到三个解决方案:

1.只需执行一项操作即可提交所有内容。进入 Action 类后,检查使用哪个按钮来提交表单并根据该按钮执行适当的处​​理。

<html:form action="modify">
  ..
  ..
  <html:submit value="delete"/>
  <html:submit value="edit" />
  <html:sumit value="update" >
</html:form>

In the ModifyAction.execute(...)方法有类似:

if (request.getParameter("delete") != null || request.getParameter("delete.x") != null) {
   //... delete stuff
} else if (request.getParameter("edit") != null || request.getParameter("edit.x") != null) {
   //...edit stuff
} else if (request.getParameter("update") != null || request.getParameter("update.x") != null) {
   //... update stuff
}

2.在提交表单之前,使用 JavaScript 更改 HTML 表单的操作属性。首先将提交按钮更改为带有附加点击处理程序的普通按钮:

<html:form action="whatever">
  ..
  ..
  <html:button value="delete" onclick="submitTheForm('delete.do')" />
  <html:button value="edit" onclick="submitTheForm('edit.do')" />
  <html:button value="update" onclick="submitTheForm('update.do')" />
</html:form>

使用处理程序:

function submitTheForm(theNewAction) {
  var theForm = ... // get your form here, normally: document.forms[0]
  theForm.action = theNewAction;
  theForm.submit();
}

3. Use a DispatchAction http://struts.apache.org/1.x/struts-extras/apidocs/org/apache/struts/actions/DispatchAction.html(一个 Action 类类似于第 1 点),但无需测试单击了哪个按钮,因为该按钮由DispatchAction.

您只需提供三个正确命名的执行方法delete, edit and update. 这是一个示例,说明了您可以如何做到这一点 http://www.vaannila.com/struts/struts-example/struts-dispatch-action-example-1.html.

综上所述:对于第一点,我真的不喜欢那些丑陋的测试......对于第二点,我真的不喜欢你必须使用 JavaScript 来玩操作表单,所以我个人会选3号.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts 1.3 中的多个提交按钮 的相关文章

  • Struts2 commons-fileupload 在上传2M以上文件出现异常解决方法

    在上传2M以上文件出现异常如下 APPNAME ERROR http 80 3 MultiPartRequest parse 130 org apache commons fileupload FileUploadBase SizeLimi
  • actionInvocation.invoke()是什么意思

    关于Struts2的自定义的验证截器 package ch06 struts2 Interceptor import java util Map import com opensymphony xwork2 Action import co
  • 升级Struts2.5后使用DMI动态方法调用遇到问题

    转自 http www lvhongqiang com blog429 html 问题 升级Struts2 5后使用DMI动态方法调用报错 method 找不到 源码 struts xml
  • web.xml加载顺序

    web xml加载顺序 应用服务器启动时web xml加载过程 至于这些节点在xml文件中的前后顺序没有关系 不过有些应用服务器 我曾碰到过的 websphere就严格要求web xml的节点顺序 否则部署不成功 所以还是赞成按照web x
  • JAVA自学之路

    JAVA自学之路 一 学会选择 为了就业 不少同学参加各种各样的培训 决心做软件的 大多数人选的是java 或是 net 也有一些选择了手机 嵌入式 游戏 3G 测试等 那么究竟应该选择什么方向呢 我的意见是 不要太过相信各种培训机构或是抢
  • Struts struts-config.xml 动作映射解释

    我是 Struts 框架的菜鸟 我试图了解动作映射到底是如何工作的 假设我有一个发送 AJAX 请求的 JavaScript 文件 button click function ajax url myTestUrl do success fu
  • 将 Hibernate 会话与 Quartz 结合使用

    我有一个使用 Struts 和 Hibernate 等框架的 Web 应用程序 目前我正在使用 Quartz 为该应用程序开发一个调度程序 在编码时 我意识到使用 Quartz 线程不可能使用 Hibernate 会话 有人有使用石英作业类
  • Struts 中的控制器

    MVC 中的控制器是什么 Is it struts xml or Servlet 动作类 我们可以有多个吗Controller在我们的应用程序中 拥有多个控制器是一种好的做法吗 在 Struts 中 应用程序控制器层代码 功能分为两部分 A
  • Struts2教程不起作用

    我正在学习struts2 我根据以下内容尝试我的 hello world 项目tutorial然后我在 eclipse 中运行代码 但这不起作用 控制台显示很多错误 第一个如下 com opensymphony xwork2 util lo
  • Struts 和 Spring 一起吗?

    我对 Struts 和 Spring 都很陌生 我需要知道如何访问 Struts ActionForm 中的 Spring 服务 即使是指向正确方向的指针也会受到赞赏 从 struts 1 ActionForm 类中 您将需要 WebApp
  • Servlet 与 MVC 框架 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我经常遇到这样的问题 为什么我们有很多 Web 框架来解决相同或相似的缺点 当深入研究时 我也思考过为什么在其他Web框架 如Stru
  • 如何从Struts1中的url中删除'.do'前缀?

    我在 Struts 1 框架中编写了一个 Web 应用程序 一切正常 但在表单提交时 当用户转发到显示的下一页 URL 时actionname do 我不希望 URL 上有这个 Struts 1 默认后缀 相反 我想在 URL 中看到页面的
  • 将 Java 对象从一个 Struts 操作传递到另一个

    在我的一个 Struts 操作中 我在方法中包含以下代码 List retrievedListOfObjects c getListOfObjects return mapping findForward view fw view导致使用另
  • Struts 1.3 中的多个提交按钮

    我的 JSP 中有以下代码
  • 安全地向 RESTFUL API 提供凭据

    我创建了一个 RESTful 服务器应用程序 它可以在有用的 URL 例如 www site com get someinfo 上处理请求并提供服务 它是在春天建造的 但是 这些访问受密码保护 我现在正在构建一个客户端应用程序 它将连接到这
  • 没有为命名空间 / 和操作名称映射的操作教程

    我无法执行我的 struts2 应用程序 我正在使用 eclipse indigo IDE tomcat 7 和 jdk 1 7 我包含的 jar 文件是 commons logging 1 0 4 jar freemarker 2 3 8
  • 使用 Multipart/Form-Data Enctype 进行表单验证失败后,Struts 1 丢失请求参数

    我有一个简单的 Struts 表单 它有几个文本字段和一个文件字段 这enctype is multipart form data在我的表格上 我在中验证actionform的 验证方法 如果文本字段为空 我会返回错误 是必要的 除了可见字
  • 动态文件下载,无需在服务器中保存文件

    我正在使用 Apache POI 库对多个 excel 文件执行一些操作 我正在尝试下载 Excel 报告而不将其存储在服务器中的某个位置 我正在使用 Struts 2 它需要将文件输入到InputStream而 POI 工作簿需要Outp
  • 在Struts1.3中如何处理多个FormBean属性到action

    我正在使用Struts1 3 我有Jsp页面 该页面显示该页面上的员工列表 为此 我所做的是 我在该操作中有一个操作 我正在调用一个返回列表的函数 并且我在会话中将这些列表设置为 session setAttribute Constant
  • 自动更改时 onChange 事件不起作用

    我在一个选择框 usageDisplays 上有一个 onChange 事件 它根据第一个选择框的选定值填充下一个选择框

随机推荐