Demo
이라는 이름의 클래스가 있고 Javabean이 아니며 메소드가 m1()
인 경우 스크립 트을 사용하지 않고이 메소드를 m1()
을 JSP 페이지에서 호출하려고한다고 가정합니다. 어떻게해야합니까?Java 클래스 객체를 만들고 스크립틀릿없이 JSP에서 메서드를 호출하려면 어떻게해야합니까?
0
A
답변
0
servlet을 만들고 doGet()
방법으로 작업하십시오.
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new Demo().m1();
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
또는 그 결과로 어떤 객체를 반환하고 당신이 그것을 EL에서 ${result}
으로 제공 할 필요가있는 경우,
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object result = new Demo().m1();
request.setAttribute("result", result);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
(호출하지 않고 직접 액세스를 방지하기 위해 page.jsp
이 /WEB-INF
폴더에 숨겨져 있습니다 서블릿 먼저)
이제 http://localhost:8080/context/page.jsp 대신 http://localhost:8080/context/page을 호출하십시오.
0
나는 개인적으로 JSTL 및 표현 언어를 기반으로하는 솔루션을 사용하는 것이 좋습니다 : (
A JSTL primer, Part 1: The expression language
은 "JSP 기술 버전 2.0의 주요 기능은 표현 언어에 대한 지원이다 EL) 표현 언어를 사용하면 JavaBeans 구성 요소에 저장된 응용 프로그램 데이터에 쉽게 액세스 할 수 있습니다. 예를 들어, JSP 표현식 언어를 사용하면 페이지 작성자는 간단한 변수 인 $ {name} 또는 $ {name .foo.bar}에 대한 중첩 된 속성 "
이 대신 형태로 스크립틀릿의 태그를 사용할 수있게됩니다.
<c:out value="${demo.m1}"/>
JSTL은 또한 태그의 사용을 통해 훨씬 더 조건, 반복 등을 수행 할 수 있습니다를
관련 문제
- 1. baseclass 객체에서 하위 클래스 메서드를 호출하려면 어떻게해야합니까?
- 2. clojure에서 Java 정적 메서드를 호출하려면 어떻게해야합니까?
- 3. 개체에 '! ='메서드를 호출하려면 어떻게해야합니까?
- 4. ActionScript에서 RemoteObject 메서드를 호출하려면 어떻게해야합니까?
- 5. CSharp : 동적으로 클래스 (생성자 포함) 및 메서드를 호출하려면 어떻게해야합니까?
- 6. 하위 클래스에서 재정의 된 부모 클래스 메서드를 호출하려면 어떻게해야합니까?
- 7. javascript에서 웹 서비스 메서드를 호출하려면 어떻게해야합니까?
- 8. C#에서 이벤트 메서드를 호출하려면 어떻게해야합니까?
- 9. 매 x 초마다 메서드를 호출하려면 어떻게해야합니까?
- 10. 클래스 참조에서 Delphi 객체를 만들고 생성자 실행을 보장하려면 어떻게해야합니까?
- 11. FreeMarker 템플릿의 객체에서 Java 메소드를 호출하려면 어떻게해야합니까?
- 12. JRuby에서 Java 코드로 메소드를 호출하려면 어떻게해야합니까?
- 13. JSP에서 싱글 톤 객체를 만들고 참조하는 방법은 무엇입니까?
- 14. viewdidload 메서드에서 메서드를 호출하려면
- 15. TabItem의 이름 매개 변수로 XAML에서 바운드 메서드를 호출하려면 어떻게해야합니까?
- 16. html 요소를 클릭했을 때 jsp에서 Java 메소드를 호출하는 방법은 무엇입니까?
- 17. alarmManager의 의도에 따라 클래스에서 로컬 메서드를 호출하려면 어떻게해야합니까? 예를 들어
- 18. jsp에서 json 객체를 읽음
- 19. Java 프로그램에서 쉘 스크립트를 호출하려면 어떻게해야합니까?
- 20. Windows Powershell에서 Java 프로세스를 호출하려면 어떻게해야합니까?
- 21. backgroundWorker의 외부 클래스에서 호출 된 메서드에서 양식의 메서드를 호출하려면 어떻게해야합니까?
- 22. C#에서 Namespace.Class를 사용하여 동적으로 메서드를 호출하려면 어떻게해야합니까?
- 23. 클래스 내부에서 객체를 만들려면 어떻게해야합니까?
- 24. jsp에서 java 객체 사용
- 25. 왜 확장 클래스 내에서 확장 메서드를 호출하려면 "this"를 사용해야합니까?
- 26. 클래스 전체에서 확장 메서드를 호출하려면 컨트롤 유효성 검사 권한이 필요합니다.
- 27. 간단한 클래스 파일에서 ServletContext 객체를 얻으려면 어떻게해야합니까?
- 28. asp.net - C# - jQuery를 사용하여 코드 숨김 내부에서 메서드를 호출하려면 어떻게해야합니까?
- 29. 두 번째보기 컨트롤러에서 루트보기 컨트롤러에있는 메서드를 호출하려면 어떻게해야합니까?
- 30. COM 개체를 통해 .NET 개체에서 정적 메서드를 호출하려면 어떻게해야합니까?
를 @ russell 및 balusC, 스크립틀릿에서 묻는 메신저 - <% new Demo(). m1() %> 이제 내 질문은 jsp에서 scriptlet없이 위의 작업을 수행 할 수 있으며 데모가 설정되지 않은 것입니다. 범위가? $ {demo.m1} 데모는 범위에 있어야합니다. –