Java Struts 1:从一个动作前进到另一个动作。通过 ActionForm 传递数据

2023-12-24

我们一直在尝试从一个操作重定向到另一个操作,希望数据能够在相应的操作之间传递ActionForm豆子。第一个操作接收来自浏览器的请求,打印数据字段,并将其转发到另一个操作,该操作打印相同的字段并重定向到 JSP。

问题是ActionTo正在打印一个不正确的值 - 它commonInt有一个默认值0,虽然我们期望35.

这是一个代表性的例子:

public class ActionFrom extends DispatchableAction{

    public ActionForward send(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response){
        FormA formA = (FormA)form;

        formA.commonInt = 35;
        System.out.println("sent: "+formA.commonInt);
        return mapping.findForward("send");
    }
}

public class ActionTo extends DispatchableAction{

    public ActionForward recv(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response){
        FormB formB = (FormB)form;

        System.out.println("recv= "+formB.commonInt);

        return mapping.findForward("send");
    }
}

动作形式是:

public class FormA extends ActionForm {
    public int intA;
    public int commonInt;
}

public class FormB extends ActionForm{
    public int intB;
    public int commonInt;
}

映射:

<action path="/from" type="EXPERIMENT.ActionFrom" name="formA" scope="request"
      input="something.jsp" parameter="dispatch" unknown="false" validate="false">
 <forward  name="send" path="/to.do?dispatch=recv" redirect="false"/>
</action>

 <action path="/to" type="EXPERIMENT.ActionTo" name="formB"  scope="request"
      input="something.jsp" parameter="dispatch" unknown="false" validate="false">
      <forward name="send" path="/login.do"  redirect="false"/>
 </action>

有办法做到这一点吗?或者两种形式应该相同?

我们尝试的解决方法是通过请求传递内容,但它可能会变得又大又乱。


汤姆,使用你的解决方案并结合动作重定向 http://struts.apache.org/1.x/apidocs/org/apache/struts/action/ActionRedirect.html,文森特·拉姆丹尼(Vincent Ramdhanie)建议,我也得到了你想要的东西。

代码很简单,它允许您为每个操作创建单独的表单。

ActionRedirect redirect = new ActionRedirect(mapping.findForward("send"));
redirect.addParameter("commonInt", formA.getCommonInt());
return redirect;
formB.setCommonInt(request.getParameter("commonInt"));

这最终节省了我的时间,并帮助我不必费力直接在 JSP 中进行更改,那会很糟糕。

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

Java Struts 1:从一个动作前进到另一个动作。通过 ActionForm 传递数据 的相关文章

  • 将倒计时器从 10 秒改为 1 秒

    我有一个倒计时器 它以 1 秒的增量从 10000 毫秒倒计时到 0 毫秒 以使按钮在 10 秒后可单击 尽管计时器是准确的并且按照代码的说明执行操作 但我想更改秒的表示方式 但我不知道如何更改 java void startTimer c
  • Spring批量写入器限制

    我正在工作 Spring Batch 项目 从数据库读取记录然后写入rabbitmq 然后发送到HTTP消息网关 网关有150TPS我需要将我的应用程序限制为 150TPS 有没有办法带弹簧批的油门或者还有其他更好的方法吗 你能行的 在 S
  • 打印数组时出错

    我得到这个代码 import java util import java io public class Oblig3A public static void main String args OrdAnalyse O new OrdAna
  • 如何将 ArrayList 中的所有值相加或转换为 ArrayList

    我试图将 ArrayList 中的所有值相加 但没有任何方法可以让我得到总和 我必须找到从文本文件中提取的数字的平均值 public static void main String args throws IOException File
  • LibGDX 闪烁

    我已经使用 LibGDX UI 设置来启动一个项目 我在实现 ApplicationListener 中唯一拥有的是 public void create setScreen new LoadingScreen this 这应该会触发 Lo
  • 枚举内的枚举

    这不是我被卡住的问题 而是我正在寻找一种简洁的方式来编写我的代码 本质上 我正在编写一个事件驱动的应用程序 用户触发事件 事件被发送到适当的对象 然后对象处理事件 现在我正在编写偶数处理程序方法 我希望使用 switch 语句来确定如何处理
  • Poi:从 xlsm 打开 Excel 文件后将其保存为 xlsx

    我正在编写一个java程序 它打开一个用户定义的excel文件 用数据填充它 然后将其保存在用户指定的路径 文件名和扩展名下 即使输入文件是 xlsm 也应该可以声明输出保存为 xlsx 但实际上是不可能的 如果我尝试使用下面的代码 打开文
  • 使用嵌入式 Jetty 7 发布 JAX-WS 端点

    有人可以帮忙吗 我想使用嵌入式 Jetty 7 作为端点 这是我尝试过的 public class MiniTestJetty WebService targetNamespace http public static class Calc
  • SQLite 64位整数在jooq中被识别为int

    我有一个与 jOOQ 一起使用的 SQLite 数据库 当我使用 jOOQ 的代码生成工具时 它会按预期构建所有表和记录类 然而 所有的 SQLiteINTEGER列变成java lang Integer生成的代码中的字段 问题是 SQLi
  • 使用 JavaFX 将可执行 Jar 限制为一个窗口

    我正在通过构建 JavaFX 应用程序E fx 剪辑 and Java场景生成器 基本功能是登录窗口 登录后 将打开新窗口 然后登录窗口消失 目前还处于原型阶段 用完eclipse后 我想要的功能都有了 启动时显示登录窗口 代码如下 Ove
  • 检查对象是否为空

    我有一个链表 其中第一个节点包含空对象 表示firstNode data等于null firstNode nextPointer null firstNode previousPointer null 我想检查firstNode 是否为空
  • Spring Boot - 如何在开发过程中禁用@Cacheable?

    我正在寻找两件事 如何在开发过程中使用 Spring boot dev 配置文件禁用所有缓存 application properties 中似乎没有通用设置可以将其全部关闭 最简单的方法是什么 如何禁用特定方法的缓存 我尝试像这样使用 S
  • oracle.jdbc.driver.OracleDriver ClassNotFoundException

    这是我收到错误的代码 我的classes12 jar已作为外部 jar 导入 import java io IOException import java io PrintWriter import java sql Connection
  • 当 javadoc 未附加到依赖项时,如何将 javadoc 引用到 Maven 的 eclipse 插件中的依赖项

    我在开发中使用 Eclipse Maven 和 Java 我使用 Maven 下载依赖项 jar 文件和 javadoc 如果可用 并使用 Maven 的 eclipse 插件为 Eclipse 生成 project 和 classpath
  • 在Java中,为什么某些变量首先需要初始化,而其他变量只需要声明?

    我试图更深入地理解我是否遗漏了一些关于 Java 何时需要变量初始化与简单声明的理解 在以下代码中 不需要为变量 row 赋值即可编译和运行 但变量 column 则需要赋值 注意 该程序没有任何用处 它已被修剪为仅显示此问题所需的内容 以
  • 如何管理一个 JInternalFrame 调用另一个 JInternalFrame?

    我有一个带有此代码的 JDesktopPane public class Menu extends JFrame implements ActionListener Creates new form Portada public stati
  • 如何为用户的活动设置计时器?

    如果用户在 5 小时内停止工作 我需要执行特定的方法 假设用户已登录 但他在 5 小时内没有向数据库的特定表添加任何记录 任何时候用户将记录添加到指定的表中 该特定用户的计时器都应该重置 否则它将继续运行 如果达到 5 小时 应用程序应显示
  • 旧的和奇异的 JVM 上 java.io.BufferedInputStream 的默认缓冲区大小是多少?

    我一直在为一篇关于以下内容的博客文章进行一些研究java io BufferedInputStream和缓冲区 显然 多年来 默认值已从区区 512 字节增长到 8192 字节 冒昧地 Sun 的 Java 7 实现 甚至在JDK 1 1
  • 将Json字符串映射到java中的map或hashmap字段

    假设我从服务器返回了以下 JSON 字符串 response imageInstances one id 1 url ONE two id 2 url TWO 杰克逊代码大厦 JsonProperty 我怎样才能得到HashMap对象出来了
  • eclipse.ui.menus 的名称过滤器

    我有一个菜单贡献 通过实现org eclipse ui menus扩展点 我想仅为特定文件扩展名 例如 pld 提供此菜单贡献 但我不知道如何使用 visibleWhen 来做到这一点 有任何想法吗 更新 到目前为止我的扩展点

随机推荐

  • 谷歌分析 & jQuery Mobile & jQuery 1.9

    之前有一个关于使用 Google Analytics 和 jquery Mobile 的问题 并提供了成功的答案here https stackoverflow com questions 12762950 jquery mobile an
  • PHP SQL查询错误

    我在此代码中的类型对话方面遇到一些问题 使用 Facebook PHP SDK 3 0 1 page id 192485754113829 post limit 2 query select post id source id actor
  • 是用 Monad 的 Applicative 来定义 Functor 更好,还是反之亦然?

    这是一个一般性问题 与任何一段代码无关 假设你有一个类型T a可以给出一个实例Monad 因为每个单子都是一个Applicative通过分配pure return and lt gt ap 然后每个应用程序都是一个Functor via f
  • R Studio 无法识别快捷方式

    我搜索了这个论坛 我知道存在类似的问题 但是 所有建议的解决方案都不适合我 我认为这与我的键盘有关 但我尝试了一切 但没有运气 Mainly 我无法为 运行当前行或选择 设置 CTRL r 的快捷方式 事实上 我不能使用 Ctrl R 组合
  • 查询每个小部件最近的两个条目

    我有两张桌子 其中一个 小部件 有一个小部件列表 ID 小部件名称 颜色等 以及有关它们的数据 另一个 测试 有一个在小部件上运行的测试列表 ID 日期 info1 info2 等 我想要做的是显示最近的两个测试 我认为我真的不需要为此使用
  • 在“WEB-INF/lib”文件夹和“src/main/resources”文件夹中找不到 jar 文件的解决方案?

    我有一个在 Jetty App Engine Spring 上运行的 Java 应用程序 去掉一些之后jar文件来自pom并将它们放入WEB INF lib文件夹 它们不再被发现 我得到了很多 Cannot find symbol 构建错误
  • 如何对自定义元素进行单元测试

    我有一个扩展的类HTMLElement 从阅读这个线程 https github com Microsoft TypeScript issues 574 issuecomment 231683089 https github com Mic
  • 在 Phonegap/Cordova 3.0+ 中,更改后是否有办法刷新插件?

    抱歉 如果这是一个简单的问题 我希望这是一个简单的问题 PhoneGap Cordova 文档非常糟糕 目录结构如下 platforms ios android plugins www 无论如何 是否可以在父插件目录中进行更改 然后将这些更
  • ASP.NET FileUpload - 如何更改“浏览...”按钮描述的语言?

    我知道这里已经发布了非常相似的问题 如何更改 FileUpload 控件 System Web UI WebControls 中浏览按钮的文本 https stackoverflow com questions 94316 how to c
  • 检查控制器所有操作的会话

    我有一个简单的 MVC 应用程序 我想首先检查此操作的会话 public ActionResult Index if Session UserInfo null return RedirectToAction Login Users ret
  • 生成访问令牌 Instagram API,无需登录?

    因此 我正在构建一个餐厅应用程序 我想要的功能之一是允许该应用程序的用户查看特定餐厅 Instagram 帐户中的照片 我希望用户无需登录 Instagram 帐户即可看到此内容 因此他们甚至不需要 Instagram 帐户即可实现此功能
  • 将 iOS 崩溃转储中的偏移量与反汇编的二进制文件相匹配

    我无法将 iOS 崩溃转储的堆栈跟踪中的偏移量与 otool 输出的二进制文件反汇编中的偏移量进行匹配 任何人都可以确认我原则上如何匹配这些 例如 如果我在故障转储中得到一行 0 myapp 0x00005b0a 0x1000 19210
  • fcntl(), F_GETFD 在 UNIX 中的含义

    unix 中 fcntl 函数中 F GETFD 的含义是什么 据我了解 如果指定位置没有文件描述符 它应该返回 1 如果这是真的 那么什么时候会发生 当接近该位置的文件描述符时 F GETFD 也不返回 1 这是使用 F GETFD 的程
  • window.onload 中调用的函数无法识别元素

    我在这里有点困惑 我认为指定的函数window onload在页面加载之前没有执行 尽管如此 我在下面的代码中遇到了错误 这是jsfiddle版本 http jsfiddle net Claudius raktx img alt src h
  • 在c++中获取动态库目录(linux)

    是否有任何编程方式来获取程序加载的动态库的位置 我知道可以获得 可执行 运行路径 但这对我来说还不够 我正在开发一个具有一些依赖项的外部库 我需要相应地指向它的位置 例如 程序运行在 local deepLearning bin 该程序使用
  • 同步计时器以防止重叠

    我正在编写一个 Windows 服务 它定期运行可变长度的活动 数据库扫描和更新 我需要经常运行此任务 但要处理的代码不能安全地同时运行多次 如何最简单地设置一个计时器 每 30 秒运行一次任务 同时不重叠执行 我假设System Thre
  • 带有自定义视图控制器的 iOS 共享扩展

    我正在创建一个共享扩展 以允许将 Youtube 视频共享到我的应用程序中 但很难顺利地呈现我的自定义 UI 我不想使用仅包含原始 Youtube URL 的默认视图控制器 而是想做一些视觉上类似于 Facebook 扩展的操作 显示缩略图
  • 实体框架 - 在多对多关系中两次添加相同的实体

    好的 所以这里是交易 我有两个实体 产品 和 零件 产品由零件组成 而且零件可以在其他产品中重复使用 这些实体之间的关系是多对多的 这一切都很好 问题是我不能将同一部件两次添加到同一产品中 EF 似乎强制所有相关实体都是唯一的 考虑以下代码
  • 当滚动样式设置为日期时,log4net 有时不会滚动日志文件

    我有一个 Windows C 应用程序 它使用 log4net 进行日志记录 这是记录器的配置方式
  • Java Struts 1:从一个动作前进到另一个动作。通过 ActionForm 传递数据

    我们一直在尝试从一个操作重定向到另一个操作 希望数据能够在相应的操作之间传递ActionForm豆子 第一个操作接收来自浏览器的请求 打印数据字段 并将其转发到另一个操作 该操作打印相同的字段并重定向到 JSP 问题是ActionTo正在打