JSP/EL에서 정적 메서드 호출
JSP에서는 계산을 수행하거나 Java 클래스의 정적 메서드에 액세스해야 하는 경우가 많습니다. 그러나 EL(Expression Language)에서 정적 메서드를 직접 호출하는 것은 지원되지 않습니다.
시나리오:
"balance" 속성이 있는 테이블이 있고 계산하려고 합니다. "Calculate" 클래스의 정적 메서드를 사용하여 "amount"라는 새 값을 생성합니다. 시도한 것처럼 JSTL 태그에 포함된 스크립트릿은 권장되지 않습니다.
EL 제한:
EL은 JavaBeans로 생성한 클래스의 인스턴스 메서드만 호출할 수 있습니다. . 인스턴스의 일부가 아닌 정적 메서드는 EL을 통해 직접 액세스할 수 없습니다.
해결책:
-
인스턴스 생성 메서드:
- 정적 메서드를 래핑하는 Bean 내에 메서드를 생성하고 필요한 매개변수를 전달합니다.
- 정적 메서드 대신 EL의 인스턴스 메서드를 사용합니다.
-
사용자 정의 EL 함수 등록:
- 사용자 정의 EL을 선언하는 TLD(태그 라이브러리 설명자) 파일을 만듭니다.
- 를 사용하여 JSP 페이지에서 TLD 파일을 구성합니다. 지시문.
- EL 표현식 내에서 내부적으로 정적 메소드를 호출하는 사용자 정의 EL 함수를 사용하십시오.
인스턴스 메소드의 예:
public class Bean { private double balance; public double getAmount() { return Calculate.getAmount(balance); } // ...other methods }
<foreach var="row" items="${rs.rows}"> Amount: ${row.amount} <!-- Invoke instance method --> </foreach>
사용자 정의 EL 기능의 예:
<!-- functions.tld --> <taglib> ... <function> <name>calculateAmount</name> <function-class>com.example.Calculate</function-class> <function-signature>double getAmount(double)</function-signature> </function> ... </taglib>
... Amount: ${f:calculateAmount(row.balance)} <!-- Invoke custom EL function -->
위 내용은 JSP/EL에서 정적 메소드를 어떻게 호출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
