2010-07-19 111 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返回结果。
(返回“注销”;)