Spring MVC로 마이그레이션 할 JSP/Servlet으로 작성된 애플리케이션이 있습니다. 특정 문제가 발생할 때까지 모든 것이 잘 진행됩니다. 내 응용 프로그램은 노드의 특수 속성을 기반으로 텍스트 상자 및 파일 선택기가있는 임의의 XML 파일을 표시합니다. Servlets을 사용하여 XML을 탐색하고이를 기반으로 HTML을 작성했습니다. Spring MVC에서 모든 뷰는 이러한 유연성을 갖지 않는 JSP이다. 너무 역동적이어서 내 필요에 대해 완전히 정적입니다. 컨트롤러 클래스 내에서 스프링 MVC로 뷰를 동적으로 빌드하려면 어떻게해야합니까?스프링 MVC : 컨트롤러 런타임 내에서 뷰 만들기
예 :
<Sample>
<Field1>
<Type>String</Type> <!-- Will be a TextBox on the view -->
<Value>{@NS}</Value> <!-- NS :: Not Set -->
</Field1>
<Field2>
<Type>Nested</Type> <!-- The value tag is a nested Field!
<Value>
<Field21>
<Type>Object</Type> <!-- File Picker. The value of this node is base64 str of file -->
<Value>...</Value>
</Field21>
<Field22>
<Type>StringArray</Type> <!-- More Value tags can occur. A Plus sign on UI -->
<!-- Already set within view -->
<Value>V1</Value>
<Value>V2</Value>
...
</Field22>
...
</Value>
</Field2>
...
</Sample>
이 같은 XML이 들어오는 그것은 N 필드를 가질 수 있고 M 시간을 중첩 될 수 있습니다.. 임의의 XML은 전혀 정적이지 않습니다. 공통 부분이 없으므로 JSP로 정적으로 작성된 뷰를 사용할 수 없습니다. 대신 Servlet을 사용하여 JSP 런타임을 만들고 컨트롤 값을 올바른 XML 노드에 바인딩합니다. 결과는 다음과 같이 나타납니다.
Field1: [------------]
Field2:
Field21: [-----------] [Browse]
Field22: [-----------]
[-----------] [+]
이 경우 내 모델은 실제 XML 문서입니다. 내 컨트롤러는 XML을 처리하고 뷰를 생성합니다. 뷰를 제출하면 모델이 업데이트되고 원본 XML이 DB에서 변경됩니다. 적어도 현재 솔루션이 서블릿에서하는 일입니다. Spring MVC에서도 같은 일을하고 싶다. 동적 뷰 생성. 다른 방법이 같을 것이다
AbstractView.jsp
<_html>
<_body>
<_form ...>
<_div><!-- Load dynamically generated content here... --></_div>
</_form>
<_/body>
</_html>
:처럼 뭔가. 모든 가능한 뷰에 대한 공통 부분을 정의한 abstractview JSP 파일이 있습니다. 기본적으로 모든 내용이 실제 내용이지만 완전히 동적입니다.
명확히하기 위해 컨트롤러의 특정 메서드를 호출 할 때마다 표준 레이아웃에서 사용자 지정보기를 작성하고 싶습니까? – Aeseir
다소 차이가 있습니다. 표준 레이아웃이 없습니다. 아무것도 없습니다. 사용자가 XML을 업로드하고 처리하고 표시해야합니다. 게시물을 기본 예제로 업데이트하겠습니다. –
예, 커뮤니티가 문제를 파악하는 데 도움이 될 수있는 한 가지 예가 있습니다. – Aeseir