【问题标题】:How to set the relative path from 'current child' without explicitly specifying/hardcoding it?如何在不明确指定/硬编码的情况下设置“当前孩子”的相对路径?
【发布时间】:2012-08-14 20:03:34
【问题描述】:

这应该相对容易,但由于某种原因,我束手无策。可能需要休息一下:)

当前页面:/Home/Desk/Drawer

如何最好地在不引用抽屉的情况下指定指向“抽屉内”项目的链接?即单击一个项目会将您带到:/Home/Desk/Drawer/Item。目前我已经看到我们的 Web 应用程序存储了一个名为 Drawer 的局部变量(因为它不是固定名称,而是在 /a/b/c/d 层次结构中结构定位的元素。对于某些表示,它甚至可能不被命名为 Drawer

很多时候我默认使用document.URL 或让服务器生成一个具有该名称的隐藏字段。听起来和感觉很杂乱。访问当前父节点/节点/位置的子节点的任何相对论方式?

例如:<a href = "what to put here to link to Item"> == /Home/Desk/Drawer/Item

更新:这是一个 JS 密集型前端,带有一个在 Glassfish/Tomcat 上运行的 Java 后端。我不确定这是否重要。如果它是一种服务器端的生成方式,那么这就是我们现在所做的。我更感兴趣的是知道这是否可以简单地使用 HTML :) (我最初的猜测是否定的;但它仍然是 猜测

【问题讨论】:

  • 您是否听说过 bitlyhttp://bitly.com/ 以及他们的收入方式......你会得到答案......
  • 听说过他们,但我现在肯定想阅读一个答案:)
  • 你能告诉我你的Web服务器和服务器脚本(如果有的话)吗???
  • @Anonymous - 我不确定这有什么用,但添加了更新
  • 我不知道我在关注你,但你的意思是像<a href="http://x.com/user/?path=/home/desk/drawer" 这样的东西吗?您可以对我想的最后一次访问进行会话,如果需要,默认创建会话到特定目录。

标签: html path


【解决方案1】:

我不确定我是否完全理解您的问题,但为什么不简单地使用像 <a href="./Item">...</a> 这样的相对链接?

编辑: 创建文件夹结构 home/desk/drawer/item 并将其放在抽屉/index.html 中:

<html>
<head><title>Drawer</title></head>
<body>
<h1>Drawer</h1>
<a href="./item">item/index.html</a>
</body>
</html>

这在 item/index.html 中

<html>
<head><title>Item</title></head>
<body>
<h1>Item</h1>
</body>
</html>

用您的浏览器打开抽屉/index.html 并点击链接——瞧,您已经到达 item/index.html。

【讨论】:

  • 我从帖子中删除了它 - 但既然你提出来了 - 如果你“在抽屉里”,它将链接到 /Home/Desk/Item 而不是 /Home/Desk/Drawer/Item
  • @Phd 请看我的编辑——它有效,只需尝试一下(甚至不需要网络服务器,你可以简单地从文件系统中完成)
  • 任何地方都没有“index.html”。它是在 RESTful 端点处呈现的页面。 URL 本身中有文件名。请阅读我的问题的第一行明确说明“我在哪里,即当前页面”
  • 抱歉,您的问题中没有提到 RESTful,我也无法在您的问题中看到“我在哪里……”。但正如我所写,我想我没有正确理解这个问题......
【解决方案2】:

您的要求称为 URL 映射,这是通过在网络服务器的配置文件中指定映射来完成的。

在 JSP/JSF 中,这是由 navigation rules 完成的

对于 GlassFish,以下链接很有用:-
URL mapping with glassfish and spring

对于 Tomcat:-
http://www.datadisk.co.uk/html_docs/java_app/tomcat6/tomcat6_web_config.htm

This link is Javascript HTML based but smart navigators can catch it.

【讨论】:

  • 我不确定我是否理解。这与 URL 映射有什么关系?我要的是相对论路径,而不是它们之间的映射。我只想用完全相同的 URL 链接到那个特定的页面,没有相对论形式的映射
  • 据我了解,您可能希望链接到抽屉而不提及抽屉。如果我的理解是正确的,那么显而易见的解决方案是 url 隐藏。这些所有链接都用于 URL 隐藏(我对 java 的经验不是很丰富,所以可能存在一些错误)。如果我错了,请纠正。
  • 我不想在生成服务器端页面时对其进行硬编码,并想知道是否有替代方案。我不想“隐藏”它只是想知道它是否可行而无需明确编写它。
  • 我需要打电话给我的黑客朋友 :)... 但是我认为没有地图或显式编码是不可能的。因为如果有的话,你可以轻松绕过这么多安全限制.如果你不想硬编码,你可以用javascript加密它并在上设置onclickevent。这就是我所知道的:( .....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 2016-05-12
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多