JSF 1.2 中的 <button>

4

简单问题:

有没有一种使用JSF或其他框架(RichFaces,Tomahawk等)来呈现html <button>元素的方法?还是我必须编写自定义组件来实现这个功能?


+1 好问题!我也在寻找答案,但似乎没有人关注它。 - Alba Mendez
澄清一下:您需要编写自定义的渲染器。实际上,h:commandButtonh:commandLink相同的组件UICommand),但每个标记使用不同的渲染器。因此,只需1)编写并注册您自己的<button>渲染器,以及2)注册一个使用UICommand和您自定义渲染器的标记。 - Alba Mendez
1个回答

0

没有,因为<button>通常只用于GET请求,您可以将其放置在JSF模板中。您无需将任何操作绑定到JSF托管的bean。

在JSF 2.0中,有<h:button>,它呈现一个GET按钮,并提供包含视图参数和/或执行隐式导航的选项。这两个功能在JSF 1.2中不可用,因此在JSF 1.2中没有类似的组件。

另一方面,如果您实际上想要使用<button>来调用POST管理的bean操作方法,那么您应该真正使用<h:commandButton>。如果您在使用<button>时遇到了特定的问题,并认为这是解决方案,那么您需要重新构思问题,更详细地阐述有关该特定问题的信息,以便我们可以回答如何使用<h:commandButton>实现相同的功能。

2
据我所知,<input> 和 <button> 之间唯一的区别是 <button> 可以包含内容(文本和最重要的图像,这就是我想使用它的原因)。一个非常简单的解决方案是让 <h:commandButton> 接受一个可选的元素参数,指定是否呈现 <input> 或 <button>。 - Per H
而且,由于我想让按钮触发我的bean中的一个方法,使用普通的vanilla html并不是一个真正的选择(除非我使用它来触发a4j:jsfunction,但那似乎是一个非常丑陋的解决方案)。 - Per H
如果你只是想为按钮设置背景图片,只需使用CSS background-image - BalusC
是的,我知道,但那并不完全满足我的需求。无论如何还是谢谢。 - Per H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接