2014-10-22 5 views
0

내 페이지에서 HTML 양식의 텍스트 (문자열)를 반환하는 서블릿을 호출하고 <h:outputText value="#{controller.htmlForm}" escape="false" />을 사용하여 렌더링하고 해당 양식의 모든 값을 컨트롤러로 가져 오려고합니다. 이것을 어떻게 할 수 있습니까?HTML 양식의 모든 값 가져 오기

서블릿이

<html> 
    <head> 
     <title>Page Title</title> 
    </head> 
    <body> 
     <form name="myForm" id="myForm" action="/app/urlServlet"> 
      <input type="text" name="input1" > 
      <input type="text" name="input2" > 
      <input type="text" name="input3" > 
      <input type="text" name="input4" > 
     </form> 
    </body> 
</html> 

내 XHTML처럼 뭔가를 반환은 htmlForm이 서블릿에서 HTML 문자열을 넣어 사용이

<h:outputText value="#{controller.htmlForm}" escape="false" /> 
<p:commandButton value="#{piece['submit']}" id="btnSubmit" action="#{controller.submit()}"/> 

컨트롤러 변수와 같은 JSF 태그가 포함되어 있습니다. 이제 제출 단추를 클릭하면 내 컨트롤러.submit() 메서드에서 myForm 양식의 값을 가져 오려고합니다.

답변

0

이 나는 ​​HTML은 일반 HTML이며 모든 JSF 컨트롤러에 연결되지 서블릿에서 반환 문제는 JSF를 사용하여 해결하지 못할 것 같아요. 이 솔루션은 jQuery를 대안을 사용하여 수행 할 수 있습니다 :

1. jQuery를()는

제출하여 제출() jQyery의 방법은 GET HTTP를 방법을 사용하여 쿼리 문자열 형식 input1=value1&input2=value2&input3=value3&input4=value4의 형태 내에서 모든 입력 값을 제출합니다.

$("form[name=myForm]").submit(); 

2. jQuery를 아약스 요청 우리는 HTTP 방식이 우리가 (POST/GET)를 사용하여 원하는 것을 선택할 수 있으며, 우리는의 값을 얻을 수 있습니다 jQuery를 아약스 요청을 사용하고 직렬화() 메소드

serialize() 메서드를 사용하여 폼을 만듭니다.

$.ajax({ 
     type : 'POST', 
     url : www.url.com, 
     data : $("form[name=myForm]").serialize(), 
     success : function(data) { 
      // Process on success 
     }, 
     error : function(error) { 
      // Process on error 
     } 
    }); 
관련 문제