如何使用jsp和javascript为链接和脚本标记创建动态源(src)

如何使用jsp和javascript为链接和脚本标记创建动态源(src),javascript,jsp,dynamic,hyperlink,Javascript,Jsp,Dynamic,Hyperlink,我有一个jsp文件,它将一个参数传递给另一个jsp文件。此参数的类型为string,并采用web服务器路径(即)中文件夹名称的值 在第二个jsp文件中,我分别使用脚本和链接标记附加了很多js和css文件。我需要使它们的路径相对于传递的参数。我的想法是使用jsp标记和javascript构建动态源代码(src)路径 <head> <link rel="stylesheet" type="text/css" href="Folder_Name/css/style.css" /&

我有一个jsp文件,它将一个参数传递给另一个jsp文件。此参数的类型为string,并采用web服务器路径(即)中文件夹名称的值

在第二个jsp文件中,我分别使用脚本和链接标记附加了很多js和css文件。我需要使它们的路径相对于传递的参数。我的想法是使用jsp标记和javascript构建动态源代码(src)路径

<head>
  <link rel="stylesheet" type="text/css" href="Folder_Name/css/style.css" />
  <script type="text/javascript" src="Folder_Name/js/script.js"></script>
</head>

除此之外,文件夹名称将是动态的,以某种方式利用JSP。至少,这是我的心态。
问题是我如何才能做到这一点?我愿意接受其他建议,将所述参数的初始条件传递到第二个jsp页面


谢谢。

为什么要用JavaScript来实现这一点?如果它已经是一个JSP页面,那么您已经在进行服务器端处理了,所以看起来您希望使用Java。例如,一旦在变量中有文件夹名称(例如,
folderName
),只需执行此操作即可输出链接:

<head>
  <link rel="stylesheet" type="text/css" href="<%=folderName%>/css/style.css" />
  <script type="text/javascript" src="<%=folderName%>/js/script.js"></script>
</head>

如果你愿意,你当然可以使用JavaScript来完成这项任务,但我不确定这是否有意义。当然,您可以在服务器上使用Rhino(JVM的JavaScript)。如果您是在客户端交谈,那么基本上必须将文件夹名称回显到客户端JavaScript可以找到它的位置(因此,将其输出到动态生成的全局变量-
var folderName='';
,例如-
或隐藏的
输入
,或任何东西),然后让您的JavaScript通过
document.createElement
,添加必要的脚本标记,设置它们的
src
,并将它们附加到
头或
体(无论在哪里),但如果您已经在做服务器端处理,这似乎是一种非常迂回的方法,参数是否已传递<代码>
中?如果您能展示一些代码,那将非常有帮助。谢谢。我通过querystring传递它,并使用request.getParameter(“FolderName”)Ew检索它,Scriptlet
s/${folderName}
@MattBall:当然,如果他使用JSTL,他可以这样做。非常感谢你们两位。这是一个很好的解决方案。我之所以提出JavaScript,是因为我在一个单独的js文件中引用了路径,并且我想使这些路径成为相对路径。如果我应该发布另一个问题,那么我将删除此评论并这样做。再次感谢。@user717236:如果您还需要客户端的文件夹路径,您仍然可以执行
var folderName=''
var folderName='${folderName}'
thing(只要文件夹名称能够生成有效的JavaScript字符串文字,在本例中很可能是这样)。然后可以在客户端代码中使用该“folderName”变量。缺点是它是全局的,我倾向于避开全局的,但是…。@T.J.Crowder:您不需要JSTL来使用JSPEL。
<head>
  <link rel="stylesheet" type="text/css" href="${folderName}/css/style.css" />
  <script type="text/javascript" src="${folderName}/js/script.js"></script>
</head>