2011-12-03 6 views
0

하나는 :작성 청소 JSP 코드

작성 청소 JSP 코드

다음과 같은 JSP 조각이 무엇을하고 있는지 파악하는 것은 매우 지저분하다. 브라우저에 반환되는 HTML 페이지의 http 응답 본문에 명시 적으로 쓰는 암시 적 변수 out을 사용합니다. 정상적인 JSP 프로그래머와 같은 방식으로 다시 작성하십시오.

<% 

out.write(“<HTML>”); 

out.write(“<HEAD><TITLE>foo</TITLE></HEAD>”); 

out.write(“<BODY> List of Temperatures:”); 

out.write(“<UL><LI>La Jolla:” + weather(“La Jolla”) + “</LI>”); 

out.write(“<LI>El Cajon:” + weather(“El Cajon”) + “</LI></UL>”); 

out.write(“</BODY></HTML>”); 

/%> 

약간 혼란 스럽습니다. 대답은 다음과 같아야합니까?

<html> 
<Head><Title>foo</Title></Head> 
<Body> 
    .... 
</Body> 
</html> 
+0

계정. – Blender

+0

그게 무슨 뜻이야? – pew007

답변

1

JSP 기술은 정적 컨텐츠와 동적 컨텐츠의 분리를 강조합니다.

정적 및 동적 내용을 포함하는 템플릿을 정의 할 수있는 템플릿 엔진과 비슷합니다. HTML 코드를 직접 사용하여 정적 콘텐츠를 마크 업하고 정적 콘텐츠에 삽입 할 동적 콘텐츠를 정의하는 데 "자리 표시 자"(태그 라이브러리 또는 EL 표현식 등)를 사용할 수 있습니다.

예에서 유일한 동적 콘텐츠는 weather(xxxxx) 함수가 반환 한 결과입니다. 이 함수는 단순히 도시 이름을 받아들이고이 도시의 날씨를 설명하는 문자열을 반환하는 정적 함수로 구현 될 수 있다고 가정합니다.

EL expression allow you to define a custom function. 사용자 정의 EL 기능과 weather(xxxxx)을 구현 한 후에는 JSP에서 호출 할 수 있습니다 : 그것은 더 이상 스크립틀릿 (자바 코드)를 포함로

<html> 
<Head><Title>foo</Title></Head> 
<Body> 
    List of Temperatures: 
    <UL> 
      <LI>La Jolla: ${myLibrary:weather("La Jolla")} </LI> 
      <LI>El Cajon: ${myLibrary:weather("El Cajon")} </LI> 
    </UL> 
</Body> 
</html> 

는 JSP가 더욱 깨끗한 없어야하고 모든 동적 내용이 있습니다 서버 측 기능에 의해 캡슐화됩니다. 은`날씨 ("라 졸라 ')'에 대한


참조

+0

도움을 주셔서 감사합니다! – pew007