我对Tapestry框架很感兴趣,由于以下几个原因,它存在一些问题:
我必须生成的输出必须是XML。根据http://tapestry.apache.org/content-type-and-markup.html的说法,这没什么大不了的。但当涉及到使用actionlink、组件或所有其他Tapestry功能时,生成的代码不应该是锚点或div,而应该是一些自定义的xml元素/属性。
有没有可能在没有太多痛苦的情况下相信这一点?欢迎使用Tapestry后台机制的变通方法或内部机制。
发布于 2012-05-31 07:02:18
虽然actionlink将始终呈现为锚(a)标记,但Any组件可以呈现为任意的xml元素,并且它和许多其他tapestry组件将呈现任意(非正式)参数,具体取决于它们的定义。
例如,(假设您的类中有一个名为'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>为了获得两者的组合,您需要滚动您自己的组件。一旦您更好地理解了tapestry,这就非常简单了。
看一看ActionLink.java (及其超类)的源代码,您应该能够弄清楚它。
https://stackoverflow.com/questions/10824695
复制相似问题