내가 막 시작된 com/go/learn_fl_cs4_learningas2_kr JSP 기술, 벽에 걸쳐 나왔다.
<%!
void someOutput() {
out.println("Some Output");
}
%>
...
<% someOutput(); %>
Jsp 페이지 번역 너회의 webserver 붙여넣습니다 jave 서브렛 된다. 예를 들어, 내부의 모든 δ1 tomcat 스크리프트레츠 (시작되는 < %" ";;), HTML, Java one giant 번역되어 얻을 수 있는 방법을 함께 정적임 모든 페이지에 행별로) 을 제스프라이터 인스턴스입니다 " 불렀으매 쓰기뿐만 out";). 이 때문에, out" " 사용할 수 있습니다. 직접 매개변수입니다 스크리프트레츠. 반면 디렉티브에는 (함께 시작되는 " < " %!;;;) 별도의 Java 메서드을 프레젠테이션이든 번역된다.
예를 들어, 아주 단순해졌습니다 페이지 (let& # 39 의 부르네요 푸.j스프):
<html>
<head/>
<body>
<%!
String someOutput() {
return "Some output";
}
%>
<% someOutput(); %>
</body>
</html>
이 같은 일이 끝날 것이라고 보았으매 (함께 많은 상세함을 무시됨 명확성을):
public final class foo_jsp
{
// This is where the request comes in
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
// JspWriter instance is gotten from a factory
// This is why you can use 'out' directly in scriptlets
JspWriter out = ...;
// Snip
out.write("<html>");
out.write("<head/>");
out.write("<body>");
out.write(someOutput()); // i.e. write the results of the method call
out.write("</body>");
out.write("</html>");
}
// Directive gets translated as separate method - note
// there is no 'out' variable declared in scope
private String someOutput()
{
return "Some output";
}
}
All you need 를 방법으로 반드시 해야 할 것은 제스프라이터 객체에는 매개변수입니다 예:
void someOutput(JspWriter stream)
그럼 콜 통해 이를:
<% someOutput(out) %>
그래서 니말은 객체인지 작성기와 로컬 변수 δ1 _jspService 전달해야 하는 it 를 유틸리티에는 메서드입니다. 다른 모든 기능이 내장됨 참조입니다 같은 신청할 것 (예를 들어, 응답 요청 세션).
볼 수 있는 좋은 방법입니다 가는 건 뭐가 있어요 꽂으십시오 & # 39 를 사용하는 것이 Tomcat 따라 서버 및 드릴다운할 work& # 39;; # 39, & # 39 의 디렉터리입니다 .java&. # 39, & # 39, jsp& 생성된 파일을 얻을 수 있습니다. 호출이네요 # 39, & # 39 weblogic.jspc& 또는 weblogic 에서 사용할 수 있습니다. 이 때 생성된 페이지를 볼 수 있는 자바 컴파일러를 페이지는 요청되었습니다.