2013-02-18 8 views
1

Пытается передать данные (значения) между страницами JSP. Хотите указать одно и то же имя и возраст ввода пользователем в HTML-коде.Невозможно передать данные между несколькими страницами jsp

У моей программы есть 3 файла. Поток

inputname.html -> printname.jsp -> printclass.jsp 
  1. inputname.html: пользователь вводит свое имя и возраст
  2. printname.jsp: отображает имя и возраст и ввод их квалификации
  3. printclass.jsp: Показывает все три: имя, возраста и квалификации.

Проблема: я не могу получить правильные значения имени и возраста в printclass.jsp; значениями являются null.

Соответствующий код из printname.jsp:

<html> 
<head> 
<title>Welcome</title> 
</head> 
<body> 

<% String Name=request.getParameter("name");%> 
<% String Age=request.getParameter("age");%> 

<h1 > 
welcome 
<%= Name%>, 
<%= Age %> 
</h1> 
<br><br> 

<form method="POST" action="http://localhost:8090/htmltojsp1/printclass.jsp"> 


    <% request.setAttribute("name",Name) ; %> 
    <% request.setAttribute("age",Age) ; %> 


    <h3>choose a Class</h3><p> 
    <select name="class" size="1"> 
    <option>School 
    <option>College 
    <option>bsc 
     <option>mca 
    </select> 
    <br> <br> 
    <center> 
    <input type="SUBMIT"> 
    </center> 
    </form> 


</body> 
</html> 

Соответствующий код из printclass.jsp:

<html> 

<body> 
<h1 > 

<% String Name=request.getParameter("name");%> 
<% String Age=request.getParameter("age");%> 

<h1 > 
welcome 
<%= Name%>, 
<%= Age %> 
</h1> 
<br><br> 

<br><br> 
<h2>you are in 
<%= request.getParameter("class")%> 
<h2> 

</body> 
</html> 

ответ

1

Если вы используете request.setAttribute те будут доступны на текущей странице JSP только - запрос на ваш следующий страница будет установлена ​​на то, что у вас есть в вашей форме (или параметры вашего URL-адреса). Вместо этого вы можете использовать скрытый элемент ввода в своей форме:

<input type="hidden" name="name" value="<%= Name %>" /> 

КПП. вы должны использовать строчные буквы в именах ваших атрибутов. (Так что используйте имя вместо имени).

+0

Спасибо. Теперь это нормально. – Incognito

+0

Np, не забудьте принять ответ, если это полезно. –

+0

Не могли бы вы, пожалуйста, посоветуете какую-нибудь хорошую ссылку для JSp - Учебник по сервлетам. – Incognito

Смежные вопросы