【问题标题】:Slide menu with JSP in WEB-INF directoryWEB-INF 目录中带有 JSP 的滑动菜单
【发布时间】:2013-08-30 08:38:36
【问题描述】:

我需要在我的应用程序中实现幻灯片菜单,但我的 jsp 在 WEB-INF/pages 目录中。当然,我无法从 href 访问这些页面。我该怎么办?

我的幻灯片菜单示例:

<li class="SlideMenu1_Folder"><div><a href="#">SCHOOL FEES</a></div><span><!-- empty --></span>
                        <ul style="display:none">
                            <li><a href="/WEB-INF/pages/coursefeessetup.jsp">Set Course Fees</a></li>
                            <li><a href="/WEB-INF/pages/configurebankaccount.jsp">Configure Bank Account</a></li>
                            <li><a href="/WEB-INF/pages/payschoolfees.jsp">Pay Fees</a></li>
                            <li><a href="/WEB-INF/pages/studentfeesinquiry.jsp">Fee Inquiry</a></li>
                            <li><a href="/WEB-INF/pages/studentFeeStatement.jsp">Fee Statement</a></li>
                        </ul>
                    </li>

这是返回页面未找到。在将 JSP 保留在 WEB-INF 目录中的同时实现此类菜单的最佳方法是什么?

【问题讨论】:

    标签: jsp menu


    【解决方案1】:

    WEB-INF 中的文件不公开可见。这是为了安全。见https://stackoverflow.com/a/6825956/1389219

    您必须将它们从 WEB-INF 文件夹中拉出,或者(推荐)使用诸如 Spring MVC 之类的 MVC 框架并将诸如 /course-fees-setup 之类的 URL 映射到 /WEB-INF/pages/coursefeessetup.jsp

    【讨论】:

      【解决方案2】:

      这里的正确答案是像这样调用一个 servlet:

      <li><a href="myservlet">Set Course Fees</a></li>
      

      然后在我的 servlet 中:

      String path = request.getServletPath();
      if(path.equal("/myservlet")){
      request.getRequestDispatcher("WEB-INF/jsp/myjsppage.jsp").forward(request,response);
      }
      

      【讨论】:

        猜你喜欢
        • 2010-11-24
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 2012-12-27
        • 1970-01-01
        • 2017-10-29
        • 2023-03-24
        相关资源
        最近更新 更多