2012-11-28 3 views
2

내가 세션 범위의 값을 설정하려고하지만 문제의 예외를 찾아주십시오 설정되지는오고있다 :세션 범위에서 버튼 값을 설정

여기

<%String name=request.getParameter("name");%><% if(request.getParameter("name").equals(name)){session.setAttribute("EmployeeById",name);}%>

당신은 내가 코드를 실제로 찾을 수 있습니다 세션에서 버튼 값을 설정하고 다른 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> 

내 두 번째 .jsp로는

<!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> 
+0

예외는 무엇입니까? –

+0

@RavindraBagale NullPointer 예외 –

+0

정확히 NPE를 얻고 있습니까? –

답변

1

우선 : 당신이 예외가없는 경우에도,이 코드는 아무 의미가 없다는 것을 알고

있습니까? 이름 매개 변수를 얻은 다음 다시 가져 와서 같은 값으로 검사합니다. 이 조건은 항상 true입니다.

두 번째 일 :

코드와 같은 :

String name = request.getParameter("name"); 
session.setAttribute("EmployeeById", name); 

은하지 JSP 페이지에서, 서블릿에서 사용되어야한다. JSP 페이지에서 요청, 세션 또는 응용 프로그램 범위에서 값을 얻으려면 EL을 사용할 수 있습니다. 예컨대 들어

:

${requestScope['name']} 

이것은 JSP 페이지의 요청 속성을 얻을 수있는 올바른 방법입니다.

NPE을 얻는 이유는 JSP 페이지에서 아직 요청을 사용할 수 없기 때문이며 null입니다. 먼저 요청이 null이 아닌지 확인하고 필요하지 않은지 확인해야합니다.

SO Servlets Wiki 페이지를 확인하십시오.

0

이 <%을 시도 내가 세션 범위를 통해 값을 받고 있어요 곳입니다! 문자열 이름 = request.getParameter ("이름"); %>

+0

어떻게 도움이 될까요? –

+0

@PauliusMatulionis는 우리가 어떻게 JSP 페이지에서 다른 JSP 페이지의 다른 자바 스크립트 기능으로 자바 스크립트 기능을 호출 할 수 있는지 말해 줄 수 있습니다. –