2017-02-20 81 views
0

我正在使用rollno作为会话对象,并且我必须在“html”输入字段的值属性中使用该值,这里是我的jsp编码如何在jsp的`html`输入字段的value属性中使用Session对象

 <%@ 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在此servlet中的值,但在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组成的b y servlet其中jsp在编译后转换 –

+0

没关系,但是如何访问那个会话对象,它在jsp显示中显示为null <%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

会话就在那里,持有你写在那里的值,你不应该比在jsp中使用'session'更难,而在EL中,所有变量都是通过请求和会话查看的,所以你甚至不应该打扰关于它们在哪里 –

+0

我的意图是相同的,但它不工作$ {rollno}'session.setAttribute(String arg,“obj”)'我​​们不能保存一个字符串中的对象 <%String value = session.getAttribute “rollno”);%>' – balan

+0

我刚刚写了下面的示例中的字符串,任何对象都可以存储在会话中,然后您应该将其作为对象来存取,例如:'request.getSession()。setAttribute(“rollno “,a)'在你的servlet中,a是A的一个对象,然后在jsp中你应该做'A a =(A)session.getAttribute(”rollno“)',你可以使用它作为一个对象,领域和方法 –

相关问题