2014-03-02 3 views
-2

GET 방법 2를 사용자가 선택한 날짜까지 선택한 것에 추가해야합니다. 어떻게 이것을 서블릿에서 추출 할 수있는 기회로 할 수 있습니까? JSP 페이지에서GET URL에 매개 변수를 추가하는 방법은 무엇입니까?

코드 :

<p class="text-left"> 
    <strong><fmt:message key="apartments.arrival"/>:</strong> <input type="text" id="arrivaldate" name="arrivaldate"/> <br/> 
    <strong><fmt:message key="apartments.depart"/>:</strong> <input type="text" id="departdate" name="departdate"/> <br/> 
    <strong><fmt:message key="apartments.price"/>:</strong> ${apartment.price} <br/> 
</p> 
<a class="btn btn-primary btn-large btn-block" 
         href="<c:url value="/purchase?apartment=${apartment.id}"/>"><fmt:message key="button.book"/> 
</a> 

나는 + departdatearrivaldate을해야합니다.

날짜는 jquery 데이터 선택기로 선택됩니다.

사용자가 입력 한 두 개의 데이터 값을 jsp 페이지에서 가져 와서 url => 매개 변수로 설정하여 서블릿 측에서 doGet()에이 두 값을 추출합니다. 양식 사용을 피하기 위해이 요청을 doGet()에 넣고 싶습니다.

UPDATE : 여기

전체 페이지 문맥입니다 - apartments.jsp

방법이 문제를 해결하기 위해?

+0

당신은 당신의 질문을 바꿔 수 있습니까? 약간 혼란 스럽습니다. 또한 전체 양식에 대한 코드를 게시 할 수 있습니까? – Trein

+0

질문을 이해할 수 없습니다. 사용자 요청이나 서블릿에서 URL을 생성하여보기 (JSP)에 표시하거나 링크의 'href'('')에 URL을 사용해야합니까? –

답변

2

은 아마 당신이 원하는 것은

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    Stirng arrivaldate = request.getParameter("arrivaldate"); 
    Stirng departdate = request.getParameter("departdate"); 
    Stirng id = request.getParameter("apartment"); 
} 

UPDATE로 GET 매개 변수를 검색하고 (당신이 이미하지 않은 경우) Servlet 당신의 방법 doGet을 덮어 쓰기하는 것입니다 문제. 양식 태그를 사용하지 않고 단추 button.bookGET 매개 변수가 하드 코드되어 있습니다. 그렇기 때문에 apartment 이외의 매개 변수는 제출되지 않습니다.

를 해결하려면, 당신은이처럼 form 태그 라인 74 to 81의 내용을 포장해야 할 것 :

<form action="/purchase" method="GET"> 
    <p class="text-left"> 
     <strong><fmt:message key="apartments.arrival"/>:</strong> 
     <input type="text" id="arrivaldate" name="arrivaldate"/> <br/> 
     <strong><fmt:message key="apartments.depart"/>:</strong> 
     <input type="text" id="departdate" name="departdate"/> <br/> 
     <strong><fmt:message key="apartments.price"/>:</strong> ${apartment.price} <br/> 
    </p> 
    <input type="hidden" id="apartment" name="apartment" value="${apartment.id}"/> 
    <input class="btn btn-primary btn-large btn-block" type="submit" value="Submit" /> 
</form> 
+0

당신은'<% Stirng arrivaldate = request.getParameter ("arrivaldate")와 같은 구식 JSP 태그의 JSP 파일에서 이것을 수행 할 수도 있습니다; %>'를 사용하면 새로운 'Servlet' 서브 클래스를 만들지 않아도됩니다. – user3001

+0

@Trein 나는 System.out.printf ("도착 : % s \ ndepart : % s % n", request.getParameter ("arrivaldate"), request.getParameter ("departdate"));'시도했습니다. doGet() =>'도착 : null depart : null '이 콘솔에 출력됩니다. 이 방법은 효과가 없습니다. –

+0

@nazar_art 꽤 효과가있을 것이라고 확신합니다. HTML 양식의 코드를 게시 할 수 있습니까? – Trein

0

예를 들어 JavaScript 페이지에서 가져온 것일까?

blah.com/home?name=blah 

당신은 다음 blah를 반환 할 것 getParam("name") 할 다양한 언어 (PHP, 자바 스크립트, 자바)를 사용할 수 있습니다 :

는 다음과 같은 URL을 가지고 있다면.

다음 URL을 사용하여 URL 매개 변수를 사용할 수있는 휴식 서비스를 살펴볼 수도 있습니다. 자바 원인의 질문에 답변이

@GET 
@Path("/home/{name}") 
@Produces("text/html") 
public String Test(@URLParam String name) { 
    return name; 
} 

같은 자바 코드 뭔가를

blah.com/home/blah 

는 자바 태그가 있습니다. 당신의 apartments.jsp 보면 , 내가 알아 낸 :

+1

사실 JSTL 태그에 따르면, 그는 JSP를 사용하고 있으며 JAX-RS 백엔드가 있다는 것을 알려주는 아무것도 없습니다. JSP/Servlets을 사용하여 솔루션을 원한다고 생각합니다. – Trein

+0

@ djc391이 오해가 수정되었습니다. 물론 jsp 페이지에 대한 솔루션이 필요합니다. –

0

그냥 arrivaldate + departdate를 얻기 위해이 방법을 시도해보십시오.

$("#from_date").datepicker({ 
    minDate : 0, 
    onSelect: function() { 
     var minDate = $(this).datepicker('getDate'); 
     minDate.setDate(minDate.getDate()); 
     $("#to_date").datepicker("option", "minDate", minDate); 
    } 
}); 

$("#to_date").datepicker({ 
    minDate: 0 
}); 

fiddle demo to click here.

+0

서블릿 측에서이 변수 값을 추출하는 방법은 무엇입니까? –

관련 문제