你可以解释一下如何在.jsp文件之间建立超文本链接吗?
我找到了两个可能的选项,第一个是:<a href="index.jsp">index</a>
但是我的网址现在包含了#34; .jsp&#34;最后的字符串(我们不希望这样)。
第二种可能性是:
<a href="<%=request.getContextPath() %>">index</a>
这工作得很好,但问题是这是一个很好的做法,因为我的Web应用程序中可能有很多链接,并且每个锚点都有一个scriptlet并不是很好看。你如何解决jsp文件之间的链接?感谢
编辑: http://tinypic.com/view.php?pic=6ynkpl&s=8#.VC8NjBaimS4 - 这是我的问题,正如你在图片中看到的那样,index.jsp和register.jsp不在同一个文件夹级别。 (其他jsp文件只是索引和寄存器的一部分),我在navigation.jsp中有很多链接,所以从那里我无法确定我应该在标签中调用我的.jsp文件的级别。现在清楚了吗?
示例:点击导航索引上的链接需要<a href="index.jsp">index</a>
,而当我在注册jsp中点击该链接需要<a href="../../index.jsp">index</a>
//如果我没错,我没有&# 39;试试吧,它只是想象力。
答案 0 :(得分:1)
我建议使用所谓的核心jstl库来执行您正在寻找的内容。
特别要看url tag。
示例:
<a href="<c:url value="/" />">Index</a>
<a href="<c:url value="/user/register.html" />">Register</a>
答案 1 :(得分:0)
相同级别:
<a href="./index.jsp">index</a>
一级回复:
<a href="../index.jsp">index</a>
两个级别:
<a href="../../index.jsp">index</a>
如果你想摆脱.jsp
,你可以将你的jsp映射到web.xml中的不同URL(有点痛苦),或安装Tuckey URL Rewrite filter(更多功能,因为它使用正则表达式)。我建议使用Tuckey选项,因为它可以让您将URL路径信息转换为参数。
例如,http://localhost/app/index/1/2/3/
可以映射为在后端运行http://localhost/app/index.jsp?var1=1&var2=2&var3=3