I am trying to set the value in session scope but it is not setting please find the problem exception is coming:
<%String name=request.getParameter("name");%><% if(request.getParameter("name").equals(name)){session.setAttribute("EmployeeById",name);}%>
Here you can find the code actually I want to set the button value in session and I am getting on other 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">
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<html>
<head>
<script type="text/javascript">
function popuponclick() {
var mywindow = window.open("file.jsp", "file", "status=1,width=350,height=150");
}
</script>
</head>
<body>
<form name="form1">
<%String name = request.getParameter("name");%>
<% if (request.getParameter("name").equals(name)) {
session.setAttribute("EmployeeById", name);
}
%>
<table>
<tr>
<td><input type="submit" onclick="popuponclick()" value="GetEmployeeById" name="name"/>
<input type="hidden" name="GetEmp" value="1"></td>
</tr>
<tr>
<td><input type="submit" onclick="popuponclick()" value="GetEmployeeByname" name="name1"></td>
</tr>
</table>
</form>
</body>
</html>
my second .jsp is this where i m getting the value through session scope
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
<%@page
import="com.nousinfo.tutorial.employee.service.model.bo.EmployeeBO"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<%
String attributeValue = (String)session.getAttribute("EmployeeById");
out.println(attributeValue);
%>
<body>
<% if ("GetEmployeeById".equals(attributeValue)) { %>
<div>
<table>
<tr>
<td>GetEmployeeByName</td>
</tr>
<tr>
<td><input type="text" name="GetEmployeeByName"/></td></tr>
</table>
</div>
<% } else { %>
<div>
<table>
<tr>
<td>GetEmployeeById</td>
</tr>
<tr>
<td><input type="text" name="GetEmployeeById"/></td></tr>
</table>
</div>
<% } %>
<table>
<tr>
<td><input type="submit" name="submit" value="find"></td>
</tr>
</table>
</body>
</html>
First thing:
Are you aware that even if you do not get the exception, this code makes no sense? You are getting the name parameter, then you getting it again and checking with the same value. This condition will always be
true.Second thing:
The code like:
Should be used in the servlets, not in JSP pages. In JSP page to get the value from the request, session or application scope you can use EL.
For e.g.:
This is the correct way of getting the request attribute in the JSP page.
The reason you are getting
NPE, is because the request is not yet available in your JSP page and it isnull. First you need to check if the request is notnulland if it is not than do something with it.Check SO Servlets Wiki page also.