动态修改 Tapestry 5 中的 FormInjector 上下文信息

2023-12-20

我当前的问题是关于动态更新上下文信息FormInjector,我之前的问题在 Tapestry 5 中更新表单内的区域 https://stackoverflow.com/questions/2966750/updating-a-zone-inside-a-form-in-tapestry-5可能包含有用的背景信息。

我在我的模板中添加了以下内容。

<div t:type="FormInjector" t:id="injector" t:context="item.id"/>

以及我的组件类中的以下内容。

@OnEvent(component = "injector")
Block loadItemFields(String id) {
    item = itemRepository.find(id);
    return itemFieldsBlock;
}

一切工作正常,出现新的表单字段,但搜索始终使用相同的内容完成id。我想改变id在触发事件之前使用 JavaScript,但我不知道如何实现这一点。

如果需要其他信息,我很乐意提供。


使用上下文参数传递动态值不是我的第一选择。 (这FormInjector组件生成一个 URL 来触发事件处理程序,然后该事件处理程序包含上下文 - 但是,这是在组件呈现时完成的,并不意味着是动态的。)

我将摆脱上下文参数并找到一种不同的方式来提交值。一种可能是通过 AJAX 提交表单并在回调中触发注入:

this.myFormElement.observe('change', this.onChange.bindAsEventListener(this));

...

onChange: function(event) {
    this.myFormElement.form.request({
           onSuccess: this.afterFormSubmitted.bind(this)
    });
},

afterFormSubmitted: function() {
   this.formInjector.trigger();
}

这样,当您触发表单注入时,表单元素的值已在服务器端设置,并且您可以在注入事件处理程序中使用它。

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

动态修改 Tapestry 5 中的 FormInjector 上下文信息 的相关文章

随机推荐

  • CMake cl.exe 无法编译简单的测试程序

    这是 CMake 输出 The C compiler identification is MSVC 16 0 30319 1 The CXX compiler identification is MSVC 16 0 30319 1 Ecli
  • 在mysql中设置好友列表

    我想在我的在线游戏中创建一个好友列表 我不确定如何设置或从哪里开始 添加朋友和接受朋友部分我可以处理 但我不知道如何在 mysql 和 php 中设置它 与每个用户连接的用户 朋友 列表或其他什么 如果您的友谊关系是对称的 您可以将每一对存
  • 使用 Razor 将 HtmlHelper 实例传递给另一个 MVC3 方法

    好的 我创建了以下两种方法 第一个是 HtmlHelper 上的扩展方法 第二个传递了帮助器的实例 并生成了复选框 我的实际示例与复选框无关 这只是解释我的问题的最简单方法 public static MvcHtmlString MakeB
  • Spring Rest Doc 不生成 html

    我跟着入门指南 http docs spring io spring restdocs docs 1 0 x reference html5 getting started对于Spring Rest Doc逐字逐句 但我无法从生成的片段中获
  • Sql 服务器的持续扫描 - 澄清吗?

    我读了这篇文章关于 http www scarydba com 2008 07 01 constant scan in execution plans 不断扫描但还是不明白什么时候会用到 人们评论作者说他的文章仍然不被理解 MSDN Con
  • 如何使用 HTML 5 只播放 Youtube 视频的音频?

    是否可以使用 HTML 5 和 Javascript 仅播放 YouTube 视频中的音频 2022 年更新 添加了用于演示的 webm 格式 您可以随时检查控制台日志并添加所需的所有格式 2021 年更新 您可以解析 Youtube HT
  • 如何创建一个覆盖层来阻止其下方 UI 的触摸事件?

    我使用了一层具有半透明背景的框架布局来创建叠加层 但此覆盖层不会阻止触摸事件与其下方的视图进行交互 应如何创建阻止所有触摸事件的覆盖层 如果覆盖层没有获取触摸事件 则事件将传递到底层视图 因此要阻止其下方视图中的触摸事件 请使覆盖层可触摸
  • 是否有任何类型的“预登录”事件或类似事件?

    在检查用户的凭据是否正确之前 我需要运行一些代码 目前我正在通过一个自定义事件侦听器来实现这一点 该事件侦听器在kernel request事件并检查请求的 URL 是否与 security yml 匹配check path环境 但这效率很
  • MVC缓存数据库图像

    我正在使用 MVC 4 创建一个网站 根据项目要求 图像存储在数据库中 我有一个绑定模型的视图 其中我有故事附带的图片的 ID 然后我得到图像 View img src style width 300px height 200px 控制器
  • 即使默认路由是用模块化风格实现的,Sinatra 也不知道这首小曲

    我正在运行 MacOS mavericksjruby我正在尝试写一个基本的modular sinatra应用程序 这是我的config ru好像 require app app run Sinatra Application 我像这样调用它
  • 正确放置 ASP .NET MVC 应用程序中的外部 javascript-per-view 文件

    在 ASP NET MVC 应用程序中 放置每个视图特有的外部 javascript 文件的正确文件夹是什么 大多数视图都需要我计划在外部文件中编写的 javascript 代码 但我不确定是否应该将它们放在视图旁边或 Scripts 文件
  • React Native 中的侧边栏菜单与反应导航

    我在用react navigation in React Native我想创建一个侧边栏菜单 它作为从左到右的覆盖层打开 并填充大约 80 90 的宽度 如果没有反应导航 这可以通过诸如react native side bar 但我想知道
  • 泛型类和静态字段

    有没有一种方法可以在多个不同的泛型类之间共享一个静态变量 我有课 class ClassA
  • 如何在 Apache POI 中设置固定列宽

    如何在 Apache POI 中设置固定列宽 我想将我的第一列设置为固定宽度 我尝试过使用sheet setColumnWidth 0 1000 cellStyle setWrapText true 设置它不反映的自动换行 public X
  • 使用内置本地数据库或隔离存储

    本地数据库现已内置于 Windows Phone 7 5 Mango 中 我正在考虑存储一些不相关的数据集合的场景 使用本地数据库非常简单 而使用独立存储则需要更多的自定义开发 还有一些替代解决方案 例如 FileDb 在芒果前的讨论中提到
  • Django-DB-Migrations:无法更改表,因为它有待处理的触发事件

    我想从 TextField 中删除 null True footer models TextField null True blank True footer models TextField blank True default 我创建了
  • WPF 重复元素

    我有一个 UserControl 它是一个按钮 具有某些特征 并且我有一个窗口 其中有几个 正常 样式的按钮 在同一个窗口上 我定义了一种样式来覆盖一些正常特征 并且我想要其中的一些 有点像键盘布局 我拥有的是一个包含 30 行的 Unif
  • Django 查询非常慢

    我的 Django 应用程序有问题 模型查询Scope速度非常慢 经过一些调试后我仍然不知道问题出在哪里 当我像这样查询数据库时scope Scope objects get pk Esoterik I 需要 5 到 10 秒 数据库只有不
  • openstack 网络无法从虚拟机 ping/ssh 到虚拟机

    我已经使用 devstack 脚本安装了多节点 openstak 可以运行虚拟机 但存在网络问题 无法从一个虚拟机 ssh ping 到另一虚拟机 我只能从运行该虚拟机的主机 control1 computeX 通过 ssh 连接到虚拟机
  • 动态修改 Tapestry 5 中的 FormInjector 上下文信息

    我当前的问题是关于动态更新上下文信息FormInjector 我之前的问题在 Tapestry 5 中更新表单内的区域 https stackoverflow com questions 2966750 updating a zone in