[SPRING] org.apache.jasper.JasperException : 기본 네임 스페이스가 지정되지 않은 경우 접두사와 함께 함수 테스트를 사용해야합니다.
SPRINGorg.apache.jasper.JasperException : 기본 네임 스페이스가 지정되지 않은 경우 접두사와 함께 함수 테스트를 사용해야합니다.
내 프로젝트에 다음과 같은 것들을 사용하고있다 : Spring 3.0.1 + Apache Tiles 2.2.1 + Glassfish 2.1. 내가 뭘 하려는지 JSP 페이지에서 일부 메서드를 호출하고 일부 매개 변수를 전달하는 것입니다. 예를 들어, 저는 bean을 가지고 있습니다 :
@Component
@Scope(value = "singleton")
public class TestBean {
public void test(String param){
System.out.println("param = " + param);
}
}
JSP 페이지가 있습니다.
<%@page contentType="text/html; charset=utf-8"%>
${testBean.test("hello")}
이 코드는 다음과 같은 예외를 제공합니다.
매개 변수를 전달하지 않고 일부 메서드를 호출하면 모든 것이 정상입니다.
jboss-el.jar를 WEB-INF / lib에 넣고 web.xml에 필요한 매개 변수를 넣으려고했습니다 (여기에 설명 된대로). 아무런 효과가 없습니다.
위에서 나열한 기술 집합으로 제한되어 있으므로 아무 것도 추가 할 수 없거나 예를 들어 내 app-server 버전을 변경할 수 없습니다.
이 모든 조건에서 내 문제에 대한 해결책이 있습니까?
해결법
-
==============================
1.이것은 환경이 인수로 빈 메소드를 호출하는 새로운 EL 2.2 기능을 지원하지 않음을 나타냅니다. 구식 환경은 표현식을 네임 스페이스 : functionName ()과 같은 EL 함수로 해석하려고 시도하고 있습니다 (JSTL 함수처럼). 예외는 EL 함수를 식별하기 위해 네임 스페이스 : 부분을 찾을 수 없다는 것일뿐입니다. 결국 그것은 잘못되었습니다.
이것은 환경이 인수로 빈 메소드를 호출하는 새로운 EL 2.2 기능을 지원하지 않음을 나타냅니다. 구식 환경은 표현식을 네임 스페이스 : functionName ()과 같은 EL 함수로 해석하려고 시도하고 있습니다 (JSTL 함수처럼). 예외는 EL 함수를 식별하기 위해 네임 스페이스 : 부분을 찾을 수 없다는 것일뿐입니다. 결국 그것은 잘못되었습니다.
EL에 인수가있는 bean 메소드를 호출 할 수 있으려면 다음 조건이 충족되는지 확인해야합니다.
구체적인 문제는 서블릿 3.0과 호환되지 않는 컨테이너 인 Old Glassfish 2.x를 사용함으로써 발생합니다.
Glassfish 3.x로 업그레이드하거나 다른 방법을 찾으십시오. JBoss EL 접근 방식은 Spring이나 "일반 JSP"가 아닌 JSF에서만 작동합니다.
-
==============================
2.el 2.2 및 servlet 3.0을 사용하는 경우에는 tomcat 7을 사용하십시오. 우리는 똑같은 문제에 직면하여 위의 버전으로 해결했습니다.
el 2.2 및 servlet 3.0을 사용하는 경우에는 tomcat 7을 사용하십시오. 우리는 똑같은 문제에 직면하여 위의 버전으로 해결했습니다.
-
==============================
3.Servlet 2.5에서 작업해야하기 때문에이 해킹을 만들었습니다.
Servlet 2.5에서 작업해야하기 때문에이 해킹을 만들었습니다.
JSP :
${testBean.test["hello"]}
콩:
private Map test; public Map getTest() { if (test == null) { test = new Map() { @Override public Object get(Object key) { System.out.println("param = " + key); return null; } @Override public int size() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public boolean isEmpty() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public boolean containsKey(Object key) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public boolean containsValue(Object value) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Object put(Object key, Object value) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Object remove(Object key) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void putAll(Map m) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void clear() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Set keySet() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Collection values() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Set entrySet() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }; } return test; }
from https://stackoverflow.com/questions/13017348/org-apache-jasper-jasperexception-the-function-test-must-be-used-with-a-prefix by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Java Generics 및 Enum, 템플릿 매개 변수 손실 (0) | 2018.12.10 |
---|---|
[SPRING] 봄 Java 구성 대 Jboss 7 (0) | 2018.12.10 |
[SPRING] 오라클에서 시퀀스의 값을 재설정해야합니다. (0) | 2018.12.10 |
[SPRING] 스프링 MVC 415 지원되지 않는 미디어 유형 (0) | 2018.12.10 |
[SPRING] 정보 : 없음 스프링 WebApplicationInitializer 형식을 클래스 경로에서 검색되었습니다. (0) | 2018.12.10 |