这可能是一个很长的镜头,考虑到Tapestry 4.1自2007年以来没有任何更新或者等等......但是在工作中他们有一个旧的遗留应用程序使用Tapestry 4.1。
我在想,
之间有什么区别<span jwcid="something@If" condition="ognl:something">
和
<span jwcid="@If" condition="ognl:something">
如果有的话?或者something
之前的@If
没有额外的目的,而不是让它成为一个唯一的ID,也许可以在其他地方引用?
以下是我在Tapestry 4.1中找到的一些文档,但我无法找到问题的答案:
了解DirectLink网址
DirectLink组件生成的URL比PageLink组件生成的URL更复杂。让我们来看一个:
http://localhost:8080/directlink/app?component=%24DirectLink&page=Home&service=direct&session=T
第一个查询参数component标识页面中的组件。 %24是&#34; URL-ese&#34;一个美元符号。在Tapestry中,每个组件在其页面中都以唯一的ID结尾。如果您不提供,则Tapestry会从组件类型创建一个,前缀为美元符号。在这里,我们的annoynynmous DirectLink组件被赋予id $ DirectLink。如果页面上有许多不同的DirectLink,您就会开始看到组件ID,例如$ DirectLink_0,$ DirectLink_1等。
您可以通过在&#34; @&#34;之前放置所需的ID来为组件提供更短且更多的mneumonic id。标志:
<a href="#" jwcid="inc@DirectLink" listener="listener:doClick">increment counter</a>
对模板进行更改后,DirectLink组件的URL更容易阅读:
http://localhost:8080/directlink/app?component=inc&page=Home&service=direct&session=T
但这如何适用于@If,它不会出现在网址中?