primefaces-图形图像不直接网址

时间:2013-10-02 08:34:49

标签: jsf url primefaces graphicimage

我使用primefaces 3.1,在菜单栏中我想添加图标。当用户点击图标时,它将直接显示到home.jsf页面。等等,当用户点击图标时,页面转到索引但其网址似乎不同谢谢你的帮助。

<p:menuitem >
  <p:commandLink action="home.jsf" >
     <p:graphicImage height="24" 
                     width="24" 
                     value="resources/images/home.ico" 
                     style="border:none" />     
  <p:commandLink>
</p:menuitem>

1 个答案:

答案 0 :(得分:2)

<h:form><h/p:commandButton>等任何命令组件提交<h/p:commandLink>后,JSF会执行转发而不是重定向。这就是您的URL保持不变的原因。只需将?faces-redirect=true附加到您的action属性,它就会按预期工作。为了区分,请访问BalusC对What is the difference between redirect and navigation/forward and when to use what?How to navigate in JSF? How to make URL reflect current page (and not previous one)的回答。

也就是说,使用命令组件执行导航是一种不好的做法。请改用<h:link><h/p:button>组件。它们会触发对导航案例结果的获取请求,因此,您的URL将会更改。命令组件旨在触发服务器操作而不执行纯导航。有关更多信息,请参阅BalusC对When should I use h:outputLink instead of h:commandLink?的回答。