параметр java в jsp: включите - PullRequest
0 голосов
/ 31 августа 2011

Я хотел знать, могу ли я передать переменную java в. Я пытался сделать что-то подобное в файле JSP:

<% String folder = request.getParameter("something"); %>
<jsp:include page="../<%=folder%>/myframe.jsp" ></jsp:include>

Это не работает. Я получаю сообщение об ошибке «Не удалось найти ресурс /=folder/myframe.jsp». Можно ли это сделать?

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 26 июля 2012

Если вы называете свое имя как что-то, Попробуйте это:

<jsp:include page="../${param.something}/myframe.jsp" />

Другое решение - это сделать:

<% String folder = request.getParameter("something"); %>
<% pageContext.setAttribute("folder", folder); %>

<jsp:include page="../${folder}/myframe.jsp"></jsp:include>

Сначала лучше, но оба должны работать.

0 голосов
/ 05 декабря 2011

Вам необходимо иметь параметр страницы как целую строку или как целую подстановку.

<jsp:include page="<%= myPageToInclude %>" />
<jsp:include page="path/to/my/page.jsp" />

Также при конкатенации строк внутри значения вам нужно избегать двойных кавычек. Итак, для вашей проблемы:

<% String folder = request.getParameter("something"); %>
<jsp:include page="<%= \"../\" + folder + \"/myframe.jsp\" %>" />

Должно работать нормально или для удобства чтения:

<% 
    String folder = request.getParameter("something");
    String page = "../" + folder + "/myframe.jsp";
%>
<jsp:include page="<%= page %>" />
...