JSP超文本链接到索引页面

时间:2014-10-03 20:00:37

标签: java jsp

你可以解释一下如何在.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;试试吧,它只是想象力。

2 个答案:

答案 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