我对Tapestry框架感兴趣,原因有几个:

我必须生成的输出必须是XML。根据http://tapestry.apache.org/content-type-and-markup.html,这没什么大不了的。
但是当涉及到使用动作链接,组件或所有其他Tapestry东西时,生成的代码不应是锚点或div,而应是一些自定义xml元素/属性。

是否可以不用太多痛苦就将其归档?
欢迎使用Tapestry的后台机制的变通办法或内幕。

最佳答案

虽然actionlink将始终呈现为anchor(a)标记,但Any组件可以呈现为任意的xml元素,并且它和许多其他挂毯组件将根据其定义呈现任意(非正式)参数。

例如,(假设您的类中有一个名为“ getTheTime”的Java方法,我的返回System.currentTimeMillis()

<xyz t:type="actionlink" t:id="someaction">
    a element</xyz>

<xyz t:type="any"
        attribute1="${theTime}"
        attribute2="prop:theTime"
        attribute3="theTime">
    xyz element</xyz>


将呈现为:

<a href="/app/page.someaction">a element</a>
<xyz attribute1="1338418847753" attribute2="1338418847753"
        attribute3="theTime">xyz element</xyz>


为了获得两者的组合,您将需要滚动自己的组件。一旦您对挂毯有所了解,这将非常简单。

看一下ActionLink.java(及其超类)的源代码,您应该可以弄清楚它的含义。

关于java - Tapestry XML输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10824695/

10-10 11:29