2013-08-28 2 views
0

여러 구성 요소에서 사용되는 HTML 구성 블록 집합이있는 경우 Java 클래스를 사용할 수 있습니까? 현재 JSP를 사용하고 있지만 약간 어렵습니다. 예를 들어보기에 클래스 사용

:

과 JSP에서 com.mydomain.view.Table.java 나는 다음과 같이 그것의 객체를 생성 :

Table tb = new Table(data); 
String html = tb.getHtml(); 

그래서 괜찮? 좋은 ? 더 나은가요? 또는 최고?

그렇지 않은 경우이를 달성하기위한 표준 방법은 무엇입니까?

추 신 : 여기 Table 클래스는 html <table> 태그와 아무 관련이 없습니다. 그 클래스가하는 일은 표 형식의 데이터 구조를 만드는 것입니다. html을 사용할 수도 있고 사용하지 않을 수도 있습니다. <table>.

답변

0

물론 표준 방법은 없습니다.

이렇게 괜찮습니까? 좋은 ? 더 나은가요? 또는 최고?

답변은 작성한 소프트웨어의 목표에 따라 다릅니다. 고려해야 할 중요한 요소는 "eventual efficiency"입니다.

Table 클래스 만 보면 잘 보입니다. 생성자는 '데이터'에 대한 종속성을 명확하게 명시합니다. 제 생각에는 getHtml() 메서드가 있어야합니다.

0

다른보기 (Swing, Android, ...)가있는 경우 getSwing() 또는 getAndroid() 개의 추가 방법이 있습니다. 어쨌든 Table 클래스가 실제 모델과 뷰 사이의 일반 중간 계층 인 경우에는 정상입니다.

또 다른 가능성은 모델 또는 Table을 JSP 뷰 레이어에 전달하고 뷰 레이어가 HTML로 변환하는 방법을 결정하게하는 것입니다. 예를 들어, taglib (결국 getHtml을 호출 할 수도 있음)를 사용합니다. Table을 전달하면보기가 어떻게 든 일반적인 방식으로 처리됩니다 (실제로 데이터를 렌더링하는 방법을 결정할 수 없기 때문에).

0

html 빌딩 블록을 사용하는 한 가지 해결책은 html을 반환하는 jQuery load를 사용하는 것입니다. Spring MVC와 Apache Tiles 뷰의 조합이 이에 가장 적합하다.

$ ("elementId"). load ("$ {context}/rest_url_returning_html_building_block");