2012-06-29 4 views
1

Мне интересно, как передать массив или список с одной .jsp-страницы на другую. Затем я хочу взять значения из этого массива и назначить их массиву javascript. Я думаю, что исходная jsp-страница настроена правильно, но задавалась вопросом, как получить значения на второй странице .jsp.Pass Array .jsp to .jsp

Это мой источник .jsp файл:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Firstjsp</title> 
</head> 
<body> 
<Form Method = "Post" Action = "Mapper.jsp"> 
<% String locations[] = {"Loan 1", "33.890542", "151.274856", "Address 1","true", "-35404.34"}; 
for (int i =0; i<locations.length; i++) 
{ 
%> 
<Input type = "Hidden" name = "loc" value = "<%= locations[i] %>"> 
<% 
} 
%> 
</Form> 
</body> 
</html> 
+0

В HTML, теги и атрибуты должны быть строчными. Не используйте их. – BalusC

ответ

2

Вы можете получить их, используя HttpServletRequest#getParameterValues(). Это возвращает строковый массив всех значений параметров, которые имеют одинаковое имя параметра. В вашем случае, вы сформировали несколько скрытого ввод HTML элементов с одинаковым именем loc в первой JSP, так что следующий во втором JSP (или, предпочтительно, чтобы servlet) следует сделать:

String[] locations = request.getParameterValues("loc"); 
1

Самый простой способ я думаю, это поместить переменную (он работает даже в качестве указателя) в качестве сессионного variable.This образом, вы можете получить доступ к нему везде, как пока код работает под одним и тем же сеансом.

<% String name = request.getParameter("username"); session.setAttribute("theName", name); %>

Этот пример также использует разницу request.The, что сессия стоит out.For пример, если вы установите переменную сессии, то даже если закрыть браузер и перезапустить его, он все равно будет there.Think как глобальная переменная. Лучше всего использовать, когда вы отправляете данные из одного jsp/сервлета в другой jsp/servlet.It в основном имеет продолжительность жизни 1. Момент, когда вы перенаправляете страницу, она исчезает.

Вы можете использовать session.setParameter(name_of_the_variable,the_variable) и session.getParameter(name_of_the_variable). В качестве подсказки, которая была мне полезна, всегда проверяйте возвращаемый параметр в случае, указанном выше «name», если это не NULL. Если в сеансе с этим именем нет переменной, она вернет NULL, и большинство вероятно, сбой. Надеюсь, это поможет!

+0

Не возражаете ли вы показать мне пример? – StackTraceYo