我有一个表单和两个嵌入其中的命令按钮,如图所示。
<h:commandButton label="Submit" type="button"
image="resources/images/Save4.jpg"
actionListener="#{userController.createNewUser()}" />
<h:commandButton label="Home"
image="resources/images/Save4.jpg"
action="/index.jsf?faces-redirect=true" />
单击“主页”按钮应重定向到index.jsf,但会导致表单提交。我不想将home命令放在另一个表单标记中,因为它会导致UI失真。请建议出路。
答案 0 :(得分:3)
命令按钮提交整个POST表单。这是普通页面到页面导航的错误工具。它也不是SEO友好的(搜索机器人不会索引POST表格)。
如果唯一的功能要求是具有可导航到不同页面的可点击图像,那么只需使用<h:link><h:graphicImage>
。
<h:link outcome="/index.jsf">
<h:graphicImage name="images/Save4.jpg" />
</h:link>
答案 1 :(得分:1)
无论如何,使用POST进行导航是一个坏主意。相反,使用这样的东西:
<h:button label="Home" image="..." outcome="/index" />