2010-07-19 146 views
2

如何將以下鏈接轉換爲按鈕?JSF彈簧安全註銷按鈕

<h:outputLink value="#{request.contextPath}/j_spring_security_logout">Logout</h:outputLink> 

如果我嘗試添加導航規則無法找到j_spring_security_logout ...

回答

3

無論是使用CSS樣式的鏈接看起來像一個按鈕。

<h:outputLink styleClass="button"> 

的東西,如

a.button { 
    display: inline-block; 
    background: lightgray; 
    border: 2px outset lightgray; 
    cursor: default; 
} 
a.button:active { 
    border-style: inset; 
} 

或在一個普通的HTML表單帶來:

<form action="#{request.contextPath}/j_spring_security_logout"> 
    <input type="submit" value="Logout"> 
</form> 
0

的另一種解決方案是:

<p:button value="Logout with spring" outcome="logout"></p:button> 

,不要忘記設置我噸。
faces-config.xml中

<navigation-rule> 
    <from-view-id>/your/path/index.xhtml</from-view-id> 
     <navigation-case> 
      <from-outcome>logout</from-outcome> 
      <to-view-id>/j_spring_security_logout?faces-redirect=true</to-view-id> 
     </navigation-case> 
</navigation-rule> 

,如果你忘了加上 「?面臨重定向= true」 時,您將收到一條error.Because會被重定向到 「http://localhost/projectNmae/j_spring_security_logout.xhtml」。所以,你應該使用它

如果您想使用「p:commandButton」 ,則必須使用managedBean返回結果。
(返回「註銷」;)