서블릿과 JSP를 사용하여 두 개의 웹 페이지를 만들었습니다. 첫 페이지에서 사용자는 이름, 성 및 휴대폰 번호를 입력하고 제출합니다. 그런 다음 사용자가 입력 한 세부 정보를 보여주는 다음 페이지로 리디렉션했습니다. 사용자가 동일한 페이지 (두 번째 페이지)의 값을 편집 할 수 있도록 "편집"버튼을 제공해야합니다. 내가 어떻게 그럴 수 있니?서블릿을 사용하여 동일한 페이지의 필드를 다시 채우는 방법
답변
두 가지 방법으로 가능합니다. 두 가지 대안의 첫 번째 부분은 동일합니다.
첫 번째 페이지에서는 양식을 사용하여 사용자 데이터를 입력 할 수 있습니다.
공공 무효의 doPost (HttpServletRequest 요청, HttpServletResponse 응답) {
// 가져 매개 변수
문자열 이름 = request.getParameters : 양식 조치에 corrsponding
서블릿은이 같은 무언가를 ("이름"); 문자열 이름 = request.getParameters ("성"); ...
가 //받은 매개 변수 에 대한 몇 가지 검증을 확인 ...
//는 사용자 개체를 사용자 사용자 = 새 사용자 (이름, 사용자 이름)를 작성;
//의 HttpSession에 보관
는 invalidate() .setAttribute ("사용자"사용자);
// 앞으로 전달 RequestDispatcher dispatcher = request.getRequestDispatcher ("대상 리소스는 scenaro에 따라 다릅니다. 아래를 참조하십시오.);
dispatcher.forward (request, response);
}
전체 흐름을 수행하는 2 가지 차이점은 제 JSP에있다. 기본적으로
1) 두 번째 jsp가 없습니다. 서블릿은 양식이 포함 된 JSP로 다시 전달됩니다.이 경우에는 빈 양식 대신 이전에 제출 된 값인 텍스트 필드에 표시됩니다. 세션에서 "user"객체가 발견되면 첫 번째 JSP를 약간 변경하여 해당 값을 표시해야합니다. 또한 사용자가 직접 텍스트 필드를 변경할 수 있기 때문에이 경우에는 "편집"버튼이 필요하지 않습니다. 어쨌든 원하는 경우 '사용자'인스턴스가 세션에있는 경우 (예 : 사용자가 이미 데이터를 삽입 한 경우) 해당 텍스트 표시를 사용 중지하고 편집 버튼을 사용하여 수정할 수 있습니다 (간단한 자바 스크립트 사용).
2) 두 번째 jsp에는 양식이없고 레이블 만 포함되어있어 사용자가 삽입 한 '읽기 전용'보기입니다. 이 경우 서블릿은 두 번째 JSP로 전달됩니다. "편집"버튼은 단순히 첫 번째 JSP로 리디렉션 될 수 있습니다. 이 경우 앞에서 설명한 것과 같은 변경 사항으로이 페이지 (첫 번째 JSP)를 변경해야합니다. 따라서 기본적으로
- 처음으로 insertUserData를 방문하십시오.jsp 세션에 사용자 인스턴스가 없습니다. jsp가 빈 텍스트 필드를 표시합니다.
- 사용자가 데이터를 입력하고 제출합니다.
- 서블릿은 사용자 객체를 생성하여 세션에 저장합니다. 다음으로 두 번째 JSP로 리디렉션
- 입력 된 데이터의 읽기 전용보기가 표시됩니다. 사용자가 편집 버튼을 클릭합니다.
- insertUserData.jsp가 표시되지만 사용자 개체가 세션에서 때문에, 텍스트 필드는 당신이 첫 번째 JSP를 다시 표시 할 수 있습니다 세션을 사용하여, 이전에 입력 한 데이터와 두 가지 접근 방식에 대해 유효
으로 마지막 음을 가득 데이터가 유효성 검사 오류의 경우에 입력, 사용자가 모든 정보를 다시 입력하지 않아도됩니다 (매우 지루한)
- 1. 동일한 클래스의 양식 필드를 채우는 방법
- 2. JavaScript를 사용하여 다른 페이지의 양식을 채우는 방법
- 3. jQuery를 사용하여 양식 제출시 숨겨진 CSV 필드를 다시 채우는 방법
- 4. 셀레늄을 사용하여 순차적으로 양식 필드를 채우는 방법
- 5. 페이지의 확인란을 다시 채우는 방법은 무엇입니까?
- 6. django를 사용하여 필드를 채우는 방법 forms.ModelChoiceField
- 7. csoap 클라이언트를 사용하여 soapaction 필드를 채우는 방법
- 8. WTForms 다시 채우는 방법
- 9. 양식 필드를 자동으로 채우는 방법
- 10. anglejs에서로드시 텍스트 필드를 채우는 방법
- 11. 다른 필드를 기반으로 필드를 채우는 방법
- 12. clickEvent에서 텍스트 필드를 채우는 방법?
- 13. 서버 유효성 검사 실패 후 jsp 페이지에서 양식 필드를 다시 채우는 방법
- 14. Groovy에서 필드를 채우는 방법은 무엇입니까?
- 15. 벡터에서 값을 다시 채우는 방법
- 16. 드롭 다운에 따라 양식 필드를 채우는 방법
- 17. 필드를 다시 그리는 방법?
- 18. 동일한 ASPX 페이지의 모든 인스턴스가 동일한 정적 필드를 공유합니까?
- 19. 브라우저 컨트롤에서 텍스트 필드를 채우는 방법
- 20. PHP : ajax를 사용하여 쿼리 결과로 html 양식 필드를 채우는 방법
- 21. 장고에서 모델 변경시 데이터베이스 필드를 채우는 방법
- 22. 타사 소스의 플래시 필드를 찾고 채우는 방법
- 23. JSP에서 서블릿을 호출하는 방법
- 24. laravel 5.3에서 편집 양식 필드를 채우는 방법
- 25. JQuery를 사용하여 서블릿을 호출하는 방법
- 26. HTML에서 장고 양식 필드를 채우는 방법?
- 27. Ux.locale.Manager를 사용하여 내 페이지의 텍스트를 동적으로 채우는 방법
- 28. Java로 동적 양식을 정확하게 다시 채우는 방법
- 29. Web.config 동일한 섹션이나 필드를 다시 사용하십시오.
- 30. 필드를 추가하고 조건을 사용하여 필드를 채우는 일반 Python 스크립트를 찾으십시오.
적시에 답장을 보내 주셔서 감사합니다! 그러나 사용자가 원하는 필드 만 편집 할 수 있도록 각 필드에 편집 버튼이있을 것입니다. 그래서 두 번째 페이지에 "편집"버튼이 필요합니다. 그리고 예, 두 번째 페이지는 라벨에 표시됩니다. 양식이 아닙니다. 하지만 "편집"을 클릭하면 텍스트 상자에 가져와야합니다. 어쨌든 가능할까요? – Pramoth
마지막 질문에 대한 요지가 있는지 모르겠습니다. 두 번째 페이지, 라벨, '수정'버튼이 있고 클릭하면 텍스트 필드가 채워진 첫 번째 페이지를 원하십니까? 네, 가능합니다 ... 위에서 설명한대로 세션을 사용하고 다음과 같은 논리로 각 텍스트 필드를 변경하십시오. "user"객체가 세션에있는 경우 user.xxx 속성을 값으로 삽입하십시오. 그렇지 않으면 값을 채우지 마십시오. – Andrea
예. 편집 버튼을 클릭하면 필드가 동일한 두 번째 페이지에 채워집니다. 어떻게 얻을 수있는 샘플 코드를 제공 할 수 있습니까? \ – Pramoth