Как я могу создать динамические источники (src) для тегов ссылок и скриптов, используя jsp и javascript - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть файл JSP, который передает параметр в другой файл JSP.Этот параметр имеет тип string и принимает значение имени папки в пути к веб-серверу (т. Е. http://myserver.com/Page/Folder_Name).

. Во втором файле jsp у меня довольно много файлов js и css, которые я присоединяю, используятеги script и link соответственно. Мне нужно сделать их пути относительно переданного параметра. Мой мыслительный процесс заключается в создании путей динамического источника (src) с использованием тегов jsp и javascript.

<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.

Спасибо.

1 Ответ

2 голосов
/ 07 ноября 2011

Почему это делается с помощью 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 , используйте ${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 (JavaScript для JVM) на сервере. Если вы говорите на стороне клиента, вам, в основном, нужно отобразить имя папки в месте, где клиентский JavaScript может его найти (например, вывести его в динамически генерируемую глобальную переменную & mdash; <script>var folderName = '<%=folderName%>';</script>, например, & mdash; или к скрытому input, или как угодно), а затем ваш JavaScript добавит необходимые теги сценария с помощью document.createElement, задает их src и добавляет их к head или body (не делает) не имеет значения, где), но кажется, что это очень удобный способ, если вы уже выполняете обработку на стороне сервера.

...