我有一个 jsp 文件,它将参数传递给另一个 jsp 文件。此参数的类型为字符串,并采用 Web 服务器路径中的文件夹名称值(即 http://myserver.com/Page/Folder_Name )。
在第二个 jsp 文件中,我分别使用 script 和 link 标记附加了相当多的 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>
除了Folder_Name 将是动态的,以某种方式利用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>
(请注意 <%=folderName%>
位,它在服务器上运行并输出服务器端 folderName
变量的值。)或者,如果您使用的是支持 JSP expression language 的容器。 ,使用${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 可以找到它的位置(因此,将其输出到动态生成的全局变量 - <script>var folderName = '<%=folderName%>';</script>
例如 -或隐藏的 input
,或其他),然后让您的 JavaScript 通过 document.createElement
添加必要的脚本标签,设置他们的src
,并将它们附加到 head
或body
(无论在哪里),但如果您已经在进行服务器端处理,那么这似乎是一种非常迂回的方法。
关于javascript - 如何使用 jsp 和 javascript 为链接和脚本标记创建动态源 (src),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038785/