2012-09-03 3 views
0

나는 부두 웹 서버에서이 작업을 수행합니다.JSP 한 페이지가 다른 페이지로 값을 전달합니다

전제 조건은 웹 서버가 시작된 것입니다.

JSP로 작성된 내 메인 페이지가 들어오는 연결에서 IP 주소를 가져 오려고합니다.

따라서, 나는 두 개의 JSP 페이지로 구분합니다.

b.jsp는 클라이언트의 IP 주소를 얻기위한 다음 a.jsp있는 동안에 전달 (의 말 a.jsp 및 b.jsp하자)

a.jsp는 b.jsp에서 가져 오는 IP 주소를 표시하기 위해 의도적으로 설계되었습니다.

들어오는 연결 IP 주소를 저장하기 위해 b.jsp에 정적 문자열이 있습니다.

두 가지 질문 :

  1. 나는 b.jsp에서 전송 된 데이터 (IP 주소)를 취득하지 않는 한 a.jsp 아무것도 표시되지 않습니다 바랍니다. 페이지를 어떻게 업데이트 할 수 있습니까?

  2. b.jsp에서 값을 a.jsp로 전달하는 방법은 무엇입니까? 내가 생각하기 때문에 사전에

덕분에 내 b.jsp의 모습을

...

<%@ include file="index.jsp" %> 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org /TR/html4/loose.dtd"> 
    <%! 
    static String clientIpAddress = ""; 
    %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
    <% 
     clientIpAddress=request.getRemoteAddr(); 
     if(clientIpAddress!=null){ 
      //How can I pass clientIpAddress to a.jsp to display? 
     } 
     else{ 
      out.println("Nothing happened here"); 
     } 
    %> 




</body> 
</html> 

나는 내 코드의 상단에

<%@ include file="a.jsp" %> 

추가 clientIpAddress를 a.jsp에 전달할 때 수행해야합니다.

  1. a.jsp는 b.jsp에서 데이터를 수신하면 자동으로 업데이트됩니까?
+0

슈퍼 빠른 답장을 보내 주셔서 감사합니다. 내 질문에 대해 더 분명해야하므로 내 코드를 추가하겠습니다. – Sam

+0

왜'request.getRemoteAddr()'를 전달 했습니까? * a.jsp *에서이 메소드'request.getRemoteAddr()'를 호출하십시오. – adatapost

+0

글쎄, 내 경우에는, 나는 결국 다른 구현을해야합니다. – Sam

답변

4

<jsp:include/> 또는 <jsp:forward/> 동작을 사용할 수 있습니다.

<jsp:forward page="a.jsp"> 
    <jsp:param name="foo" value="10"/> 
</jsp:forward> 
1

당신은 b.jsp을 건너 뛰고 a.jsp에 직접 사용자를 보낼 수, 페이지 사이의 IP 주소를 전달할 필요가 없습니다 - 거기에 당신이 사용하는 IP 주소를 뽑을 수 :
request.getRemoteAddr()

로 귀하의 질문에 대한 페이지 사이에 값을 전달에 관해서는, 나는 중 하나를 세션에 값을 저장하거나 리디렉션하기 전에 GET/POST 매개 변수를 추가하여 그것을 할 것입니다.

관련 문제