c:if
값이 true로 평가되면 사용자가 리디렉션되기를 원합니다. 리디렉션의 경우 c:redirect url="url"
을 사용하고 있습니다. 하지만 그것은 나를 페이지로 리디렉션하지 않습니다. f
가 JSF 코어 태그 라이브러리이다 c
는 JSTL 코어 태그 라이브러리이다jstl core를 사용하여 리디렉션
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view>
<c:if test="#{user.loggedIn}">
#{user.loggedIn}
<c:redirect url="index.xhtml"></c:redirect>
</c:if>
Hello #{user.name}
<h:form>
<h:commandButton value="Logout" action="#{user.logout}" />
</h:form>
</f:view>
여기
, h
는 HTML을 JSF 태그 라이브러리를 나타낸다 : 여기서, 코드이다.
''을 사용할 때 예외가 발생하지 않습니다. 내 질문은 ''에 지정된 URL로 리디렉션되지 않는 이유입니다. 응답의 의미는 무엇입니까? –
Logan
응답의 헤더가 이미 클라이언트 (웹 브라우저)로 전송되면 응답이 커밋됩니다. 리디렉션은 커밋되지 않은 응답이 필요합니다. 클라이언트가 지정된 위치 (즉, 리디렉션)에서 새 GET 요청을 보내도록 지시하기 위해 'Location'헤더를 설정해야하기 때문입니다. – BalusC