0

spring-app の servlet.xml で宣言された 2 つの Bean があります。

<bean name="/apple.htm" class="controller.AppleController"/>

<bean name="/secure/banana.htm" class="controller.BananaController"/>

バナナコントローラーは次のとおりです。

public class BananaController implements Controller {

    protected final Log logger = LogFactory.getLog(getClass());

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        logger.info("returning contact view");
        return new ModelAndView("/banana");
    }

}

ここにAppleControllerがあります

public class AppleController implements Controller {

    protected final Log logger = LogFactory.getLog(getClass());

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        logger.info("returning contact view");
        return new ModelAndView("/apple");
    }

}

Apple.jsp は次のとおりです (Banana.jsp も同様です)。

<%@ include file="/WEB-INF/pages/include.jsp" %>
<html>
<body>
    <h1>Test</h1>
    <%@ include file="/WEB-INF/pages/menu.jsp" %>
    <h2>Apple</h2>
    <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac mauris ante. 
    </p>

</body>
</html>

これが menu.jsp です。

<a href="<c:url value="apple.htm" />" > Apple</a>
<a href="<c:url value="secure/banana.htm" />" > Banana</a>
<a href="<c:url value="/j_spring_security_logout" />" > Logout</a>

問題は、ログインするとbanana.htmにアクセスできることですが、「apple」ページに戻ると、すでに場所を特定しているため、secure/apple.htmページにアクセスしようとします。 /secure フォルダーにあります。

../apple.htm が適切にリダイレクトされることはわかっていますが、リンクが Banana.htm からのみクリックされることを示すものは何もありません。ここで何かが欠けていると確信しています。

4

1 に答える 1

0

どうですか

<a href="<c:url value="/apple.htm" />" > Apple</a>
于 2012-07-08T04:08:06.997 に答える