2017-02-20 29 views
0

Я использую rollno как объект сеанса, и я должен использовать это значение в атрибуте значения«HTML»поле ввода здесь мой jsp кодированияКак использовать объект Session в атрибуте значения `html` поля ввода на JSP

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <%@page import="javax.servlet.http.HttpSession"%> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Insert title here</title> 
    <%!HttpSession value=null; %> 
    </head> 
    <body> 
    <form action="ShowMarkServlet"> 
    <% value=(HttpSession)session.getAttribute("rollno");%> 
    <%out.print(session.getAttribute("rollno")); %> 
    Rollnumber:<input type="number" value="<%=value%>" name="rollno"><br> 
    Enter the semester:<input type="number" name="semester" min="0" max="6"> 
    <input type="submit" value="okay"> 
    </form> 
    </body> 
    </html> 

Вот мой код servlet, который имеет значение rollno в этом сервлете, но показывает null в файле jsp.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     String rollno=request.getParameter("rollnumber"); 
     System.out.println(rollno); 
     String report=request.getParameter("domainarea"); 
     System.out.println(report); 
     HttpSession session=request.getSession(); 
     session.setAttribute(rollno,"rollno"); 
     if(report.equals("MarkDetail")){ 
     request.getRequestDispatcher("/sem.jsp").forward(request, response); 
    } 
+0

Это зависит от того, что вы собираетесь с ним делать, понимаете, что эти htmls сформированы b y servlet, в котором jsp преобразуется после компиляции –

+0

в порядке, но как получить доступ к этому объекту сеанса, он показывает null в jsp-дисплее '<% out.print (session.getAttribute (« rollno »)); %> ' – balan

ответ

1

Вы можете получить доступ к сеансу с JSP, просто session, так что ваш код должен выглядеть следующим образом:

<% String value=session.getAttribute("rollno");%> 
<% out.print(value); %> 

Или с помощью EL:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form action="ShowMarkServlet"> 
Rollnumber:<input type="number" value="${rollno}" name="rollno"><br> 
Enter the semester:<input type="number" name="semester" min="0" max="6"> 
<input type="submit" value="okay"> 
</form> 
</body> 
</html> 

Если я получил ваши интенсионал права

+0

Сессия только там, удерживая значения, которые вы там написали, вы не должны получать ее в любом случае сложнее, чем использовать' session' в jsp, а в EL все переменные просматриваются через запрос и сеанс, поэтому вы не должны даже беспокоиться о том, где они находятся –

+0

Мое намерение такое же, но его тоже не работает $ {rollno} 'session.setAttribute (String arg," obj ")' мы не можем сохранить объект в String <% String value = session.getAttribute («rollno»);%> ' – balan

+0

Я просто написал строку, следующую за вашим примером, любой объект может быть сохранен в сеансе, а затем вы должны получить к нему доступ как объект, например:' request.getSession(). setAttribute ("rollno ", a)' в вашем сервлете, где a является объектом A, тогда внутри jsp вы должны сделать A A = (A) session.getAttribute ("rollno"), и вы можете использовать его как объект A, получив доступ к нему поля и методы –