您建议我如何扩展 Tapestry 4 中的 Insert 类?
我没有太多 Tapestry 经验,所以我真的不知道从哪里开始。
我需要使用一个新组件(例如 NewInsert)扩展 Insert 组件,该组件将给定的 CSS 类应用于要插入的内容。 我该怎么做?
我基本上希望最终得到生成类似 The value
之类的东西。
为什么要通过扩展Insert来实现呢? 因为应用程序已经基本完成,但我们意识到在任何使用 Insert 的地方都需要这个 CSS 类。 我们只需对 'type="Insert">' 进行全局替换 与 'type="NewInsert">' 在所有文件中。
I don't have much Tapestry experience so I don't really know where to start.
I need to extend the Insert component with a new component, say NewInsert, that applies a given CSS class to what is being inserted. How should I do this?
I basically want to end up with something that generates something like <span class="myClass">The value</span>
.
Why do it by extending Insert? Because the application is pretty much done but we realized that everywhere we use Insert we need this CSS class. We'll just do a global replace on 'type="Insert">' with 'type="NewInsert">' in all files.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为了实现我想要的,我必须重写 Insert 的 renderComponent 方法。 这只是因为 Tapestry 4.0.2 没有
setStyleClass
方法。 它看起来基本上就像如果我们有一个 setStyleClass 方法我们就可以完成
To achieve what I wanted I had to override Insert's
renderComponent
method. This is only because Tapestry 4.0.2 does not have asetStyleClass
method. It looked basically likeIf we have a setStyleClass method we could have just done
为什么要覆盖插入? 为什么不创建自己的 InsertSpan 组件呢? 只需查看 Insert 的源代码,您就会发现它是多么简单......可以随意剪切和粘贴,它是开源的。
更好的是,考虑升级到 Tapestry 5; Tapestry 4 的东西已经有四年没有积极开发了。
Why override Insert? Why not create your own InsertSpan component? Just look at the source for Insert and you'll see how simple it is ... feel free to cut-and-paste, it's open source.
Better yet, look into upgrading to Tapestry 5; the Tapestry 4 stuff has not been actively developed in about four years.