我是JSF和Spring的新手。我正在嘗試在JSF中使用Spring Security。我設計瞭如下的XHTML頁面:Spring標籤在JSF xhtml文件中不起作用
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:spring="http://www.springframework.org/tags"
xmlns:form="http://www.springframework.org/tags/form">
<head>
<title>JSF Test</title>
</head>
<body>
<f:view>
<p>This page should be authenticated!</p>
<a href="<spring:url value="/j_spring_security_logout" htmlEscape="true" />">Logout</a>
<div>Test: <spring:url value="/j_spring_security_logout" htmlEscape="true" /></div>
</f:view>
</body>
</html>
我嘗試添加使用spring:url
標籤的註銷鏈接。但是,首先這給出了一個錯誤,href
屬性不能包含<。要排除此問題,我刪除了a
標記,並使用div
來測試我是否能夠從spring:url
標記中獲得所需的值。我發現spring:url
標籤沒有被解析,而是顯示在生成頁面的源代碼中。
而不是使用XHTML頁面,如果我使用JSP頁面taglibs而不是xmlns,一切正常。我無法理解爲什麼它不能使用XHTML文件。
我的Faces Servlet
映射到.jsf
和springSecurityFilterChain
映射到/
*
(沒有之間的空間)。我試圖將springSecurityFilterChain
映射到*.jsf
,這也無濟於事。
我試過了,但它並沒有預先考慮上下文路徑。作爲解決方法,我刪除了前導/(正斜槓)。 – Cracker 2011-06-16 00:31:27
哦,男孩,你說得對。我會更新答案。我很確定它做到了。 – BalusC 2011-06-16 01:11:55