Tag: 挂毯

在Tapestry 5.3中链接多个选择组件(Ajax更新)

我正在使用tapestry 5.3.7,我想使用Ajax链接选择表单元素:如果我在select元素中选择一个选项,则另一个选择似乎根据您的第一选择选择另一个元素。 我在tapestry doc中尝试了一个示例,并根据我的项目进行了调整。 尽管我的自定义代码非常接近样本,但我总是有以下错误: SetupRender中的渲染队列错误[SelectZoneDemo:version]:组件SelectZoneDemo:版本必须由Form组件括起来。 来自doc的工作样本(选择组件的链接CarMaker) http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/corelib/components/Select.html ) 这是我的代码: 模板文件(.tml) Java文件 @Inject private AjaxResponseRenderer ajaxResponseRenderer; @Inject private IServiceApplicatif serviceApplicatif; @Inject private SelectModelFactory selectModelFactory; @Property @Persist private SelectModel selectApplicatifs; @Property @Persist private String version; @Property @Persist private SelectModel selectVersions; @Inject @Property private ApplicatifDtoEncoder applicatifDtoEncoder; @Inject @Property private VersionDtoEncoder versionDtoEncoder; @Property @Persist private ApplicatifDto selectedApplicatif; @InjectComponent […]

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

我当前的问题是在FormInjector动态更新上下文信息,我之前的问题在Tapestry 5中更新表单内的区域可能包含有用的背景信息。 我在模板中添加了以下内容。 以及我的组件类中的以下内容。 @OnEvent(component = “injector”) Block loadItemFields(String id) { item = itemRepository.find(id); return itemFieldsBlock; } 一切正常,新的表单字段出现,但搜索始终使用相同的id 。 我想在触发事件之前用JavaScript更改id ,但我不知道如何实现这一点。 如果需要其他信息,我很乐意提供。

Tapestry mixin究竟是如何工作的?

我刚读完这篇文章后才意识到,我无法向自己解释它是如何工作的以及它可以解决的问题。 是的,它可以用于更改现有组件的行为。 但它是如何限制的? 我能做什么,不能做什么? 它比inheritance更好吗? 这篇文章很有帮助,但我仍然很困惑。 任何人都可以使用简单的单词 解释 Tapestry mixin吗?

Tapestry 5 – 在Java代码中动态生成Web应用程序上下文文件夹中的文件URL

我在组件中显示静态图像资源,直到运行时我才知道该图像应该是什么,所以我需要动态生成URL。 这些图片都存在于webapp/images/ 我发现的文档并不是很清楚如何处理这个用例,但在玩完之后我发现我可以在组件模板中动态构造URL,如下所示: 然后将要在其中显示的图像的逻辑放在组件类文件中: public String getImageFilename() { // decide which image to display and return the filename } 所以这有效,但它不是最干净的解决方案。 我真的不想将URL基础连接到模板内的文件名 – 我更愿意在组件类中构造整个URL,如下所示: 和 public String getImageURL() { // build URL somehow like “context:” + “filePath” in template } 所以我的问题是:是否有一个类似context: …的Java代码context: …在模板中,它只是为web appl上下文文件夹生成一个String基本URL,我可以将我的文件路径附加到? 我可以通过阅读文档看到一些明显的hacky方法,比如使用所描述的方案手动构建基本URL,或者从Web应用程序上下文文件夹中注入一个已知的静态图像作为Asset ,并调用toClientURL()来提取基础URL。 但似乎在Java中必须有一个很好的内置方法来实现这一点,特别是因为它可以在模板扩展中自由使用。 但谷歌我可能,我似乎无法找到如何在任何地方做到这一点!