양식을 서블릿 (java)에 제출하려고합니다. 양식에는 여러 가지 질문이 있으며 각 질문에는 4 개의 라디오 버튼이 있으며 사용자는 그 중 하나를 선택합니다. 나는 형태로있을 질문의 수를 모른다. 그것은 10, 15, 12 일 수 있습니다 ... 다른 기준에 따라 다릅니다. 내 질문은 양식에있는 질문에 대해 사용자가 선택한 선택 목록을 검색하는 가장 좋은 방법입니다.동적으로 (알 수없는) 필드 수가있는 양식을 제출하는 방법
답변
일반적인 기술은 공통 접두어로 필드 이름을 지정한 다음 존재하지 않는 필드에 도달 할 때까지 q000, q001, q002 등을 반복합니다. 내 마음에 오는
빠른 트릭은 n의 값에 숨겨진 입력 유형을
"question_"+n
모든 필드의 이름을 지정하고하는 것입니다. 폼에 제시 할 질문의 수를 알 수있는 방법이 있으면 n 값을 설정하는 방법이 있어야합니다.
나중에는 그 가치와 ... 검색
n = new Integer(request.getParameter("number_of_question"));
for(int i = 0 ; i < n ; i++) {
list.add(request.getParameter("question_"+i));
}
이 내 마음에 오는 제일 먼저
당신은 HttpServletRequest.getParameterNames은()의 이름의 열거를 검색하는 데 사용할 수 있습니다 요청 내의 모든 양식 요소 그런 다음 열거를 반복하고 HttpServletRequest.getParameter (name)를 사용하여 각 요소의 개별 값을 요청할 수 있습니다.
옵션 라디오 버튼 이외의 다른 FORM 요소가 HTML에 포함되어있는 경우 매개 변수 이름을 열거하면서 요청할 항목을 알 수 있도록이 라디오 버튼의 똑똑한 이름 지정 규칙을 사용하십시오.
예.
양식은 다음과 같은 두 가지 옵션이 질문이 포함 된 경우 : 서블릿에서
Question 1:
<input type="radio" name="question1" value="option1">
<input type="radio" name="question1" value="option2">
<input type="radio" name="question1" value="option3">
Question 2:
<input type="radio" name="question2" value="option1">
<input type="radio" name="question2" value="option2">
<input type="radio" name="question2" value="option3">
을
Enumeration e = request.getParameterValues();
while(e.hasMoreElements()){
String name = (String)e.nextElement();
if(name.startsWith("question"){
String value = request.getParameter(name);
//your logic here
}
}
같은 일을 또 다른입니다 : 서블릿에서
,
int maxQuestionNumber = Integer.parseInt (request.getParameter ("maxQuest ionNumber ")); // 폼의 최대 질문을 나타내는 HTML 폼의 숨겨진 변수 여야합니다.
for(int i=1;i<=maxQuestionNumber;i++){
String value = request.getParameter("question"+i);
//your logic here..
}
해결 방법이 없습니다. 이 Scenerio에서는 ServletRequest.getParameterMap()이 도움이 될 것입니다. 지도의 키는 String 유형이고 값은 String [] 유형입니다.
따라서,이 같은 Foreach 루프 뭔가를 사용하여지도를 통해 아주 쉽게 루프,
for(Map.Entry<K, V> entry : map.entrySet()){
..
if(entry.getValue().length > 1){
//means the choices not the question
}else{
//means the question not the choices
}
}
나는 그것이 도움이 될 희망 할 수 있습니다.
POST를 사용하면 JSON을 사용하여 서블릿에 문자열을 전달할 수 있습니다.이 문자열은 매우 긴 문자열을 처리 할 수 있습니다. 그렇게하면 매개 변수가 복잡하더라도 원하는대로 전달할 수 있습니다.
- 1. onChange를 사용하여 양식을 제출하는 방법
- 2. jQueryMobile을 사용하여 양식을 제출하는 방법
- 3. ExtJS를 통해 양식을 제출하는 방법
- 4. Solr 오류, 알 수없는 필드
- 5. WCF 알 수없는 필드 ExtensionData
- 6. Django 모델의 알 수없는 필드
- 7. Ajax를 사용하여 양식을 제출하는 다른 방법
- 8. ajax. jquery로 게시물이없는 양식을 제출하는 방법
- 9. 동적으로 생성 된 양식을 AJAX에 제출하는 방법은 무엇입니까?
- 10. LINQ 식을 동적으로 작성/알 수없는 형식으로
- 11. 양식을 열기 전에 알 수없는 예외가 발생합니다.
- 12. 젠드, jquery ajax를 사용하여 양식을 제출하는 방법?
- 13. Selenium IDE에서 루프로 양식을 제출하는 방법
- 14. 자바 스크립트 변수를 사용하여 양식을 제출하는 방법
- 15. 자동으로 사용하여 양식을 제출하는 방법 HttpWebResponse 클래스
- 16. 자바 스크립트를 사용하여 양식을 만들고 제출하는 방법
- 17. WWW :: Mechanize를 사용하여 HTML에없는 양식을 제출하는 방법?
- 18. 오류 : '필드 목록'의 알 수없는 열
- 19. MySQL 오류 : '필드 목록'에 알 수없는 열
- 20. 필드 업데이트 중 알 수없는 경고
- 21. xslt 양식 필드 - 알 수없는 이름으로 입력 받기
- 22. 프로그래밍 방식으로 양식을 제출하는 중
- 23. 양식을 MySQL 데이터베이스에 제출하는 중
- 24. jQuery로 양식을 제출하는 방법은 무엇입니까?
- 25. PHP로 양식을 제출하는 방법은 무엇입니까?
- 26. 클릭시 양식을 제출하는 체크 박스
- 27. 동적으로 생성되는 필수 필드 확인
- 28. 알 수없는 창 닫기 방법
- 29. java.util.zip.zipexception : 알 수없는 압축 방법
- 30. jQuery로 두 가지 양식을 제출하는 방법은 무엇입니까?