4

私は jsp 開発者ではありませんが、所有しているオープン ソース ソフトウェアの jsp ページを少し調整したいと考えています。

私がやりたいのは、ページにアクセスするために使用した URL を見つけることだけです 。たとえば、 https://old.example.comとしましょう。もしそうなら、ユーザーをhttps://new.exampleにリダイレクトしたいと思います。 .comですが、明らかにリダイレクト ループに陥りたくありません...

これについてどうすればいいですか...

4

2 に答える 2

6

次のようなことを試すことができます:

<% 
    if(request.getRequestURL().toString().equals("https://old.example.com")){    
        String redirectURL = "https://new.example.com"; 
        response.sendRedirect(redirectURL);
    }
%>

また、JSP 内で Java コードを使用したくない場合 (これは悪いプログラミング手法です)、JSTLを使用してこのようなことを試すことができます。

<c:if test="${pageContext.request.requestURL == 'https://old.example.com'}">
    <jsp:forward page="https://new.example.com"/>
</c:if>
于 2013-08-31T22:38:53.613 に答える
2

ビューではなく、コントローラーのジョブのように見えます。

編集済み

しかし、本当にやりたい場合は、次のようなことを試すことができます (JSTL を使用するとします)。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${fn:contains(pageContext.request.requestURL, 'localhost')}">
   <c:redirect url="http://google.com"/>
</c:if>

于 2013-08-31T22:20:53.120 に答える