Java HTML 4<;按钮>;在JSF2.1中

Java HTML 4<;按钮>;在JSF2.1中,java,html,jsf,jsf-2,html4,Java,Html,Jsf,Jsf 2,Html4,我想使用以下命令: JSF生成一个,但我希望它不是生成,而是生成一个HTML4标准最接近标准JSF组件集的,它是由生成的 产生 如果出于某些不明确的原因,您确实坚持使用,那么您可以选择以下选项: 只需使用普通HTML即可 创建自定义组件和/或渲染器 获取第三方组件库。例如,生成一个 您应该查看Primefacesp:commandButton。这将呈现给客户端上的标记 它通过将替换为对我有效,例如: 替换 发现 与 #{msg['view.button.Find']} 如果您使用

我想使用以下命令:


JSF
生成一个
,但我希望它不是生成
,而是生成一个HTML4标准

最接近标准JSF组件集的
,它是由生成的


产生


如果出于某些不明确的原因,您确实坚持使用
,那么您可以选择以下选项:

  • 只需使用普通HTML即可
  • 创建自定义组件和/或渲染器
  • 获取第三方组件库。例如,生成一个

您应该查看Primefaces
p:commandButton
。这将呈现给客户端上的
标记


它通过将
替换为
对我有效,例如: 替换


发现


#{msg['view.button.Find']}

如果您使用的是JSF2.2,您可以将
标记与JSF名称空间混合使用。这里的秘密是来自
jsf
名称空间的属性
process
,用于发布表单数据,以及
action
属性

<button type="submit" class="btn btn-primary" 
    jsf:action="#{profileController.updateProfile}"
    jsf:process="@form">
        <i class="fa fa-floppy-o" aria-hidden="true"></i>
            #{bundle['button.store']}
</button>

#{bundle['button.store']}

在JSF2.2中,您可以使用任何HTML标记与JSF标记混合使用。

您希望使用什么命令?而且,JSF在精细控制HTML输出方面有点糟糕。如果您的图形设计需要超出“选择RichFaces主题”的范围,我强烈建议您不要使用它。我认为在这种情况下,您可以将一个常规的HTML
放在
中,尽管默认情况下.JSF不会生成
HTML标记。需要补充的是,您为什么需要它?如果你想要一个带有图像的按钮,那么请看我使用的是bootstrap,我的css需要是一个图标,以便在botton上显示图标。我不想自定义css来支持它。我认为如果JSF生成它会好得多。这救了我。非常感谢你。我正在将一个基于HTML+CSS的站点转换为JSF。插入PrimeFaces按钮会带来不必要的样式。任何其他JSF组件(如命令按钮或命令链接)以Html格式生成的输入都会导致意外的样式。因为我不是负责CSS编辑的人,所以修改CSS很困难。这就是你的答案对我来说非常有用的价值。我正在将CSS+HTML站点转换为JSF站点。更改CSS在设置中不实用。如果生成的是输入而不是按钮,则现有CSS不会为生成的输入组件设置样式。添加PrimeFaces按钮会带来不需要的样式。我不知道如何创建自定义组件。
<h:commandLink styleClass="RUIFW-btn-primary pull-right" 
title="#{msg['view.button.Find']}"
action="#{anotherAccountController.doFind}"
onclick="return submitPage(this.form)">
<span class="icon-search"></span>#{msg['view.button.Find']}
</h:commandLink>
<button type="submit" class="btn btn-primary" 
    jsf:action="#{profileController.updateProfile}"
    jsf:process="@form">
        <i class="fa fa-floppy-o" aria-hidden="true"></i>
            #{bundle['button.store']}
</button>