반응형
@FacesComponent가 있는 JSF 사용자 지정 구성 요소를 SpringBoot에서 찾을 수 없습니다.
사용자 지정 JSF 2.0 구성 요소를 생성하고 싶지만 작동할 수 없습니다.내 구성요소는 다음과 같이 정의됩니다.
@FacesComponent(value = "myCustomComponent")
public class CommaSeperatedOutput extends UIComponentBase { ... }
taglib은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd" version="2.0">
<namespace>http://www.company.com/tags</namespace>
<tag>
<tag-name>custom</tag-name>
<component>
<component-type>myCustomComponent</component-type>
</component>
</tag>
</facelet-taglib>
내 faces-config는 다음과 같습니다.
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
</faces-config>
다음 오류가 발생합니다.
SEVERE: JSF1068: Component with componenttype myCustomComponent could not be instantiated.
javax.faces.FacesException: Expression Error: Named Object: myCustomComponent not found.
중요한지는 모르겠지만, 저는 여기서 스프링 3.1을 JSF 2.1과 함께 사용하고 있습니다.그래서 의존성은 Spring에 의해 관리됩니다.
여기서 무슨 일이 일어나고 있는지 아십니까?
[작성자의 솔루션을 여기로 이동]
스프링이 여기서 나쁜 사람인 것 같아요주석을 제거했습니다.@FacesComponent(value = "myCustomComponent")
구성 요소에서 정의하고 대신 다음과 같이 구성합니다.
<component>
<component-type>myCustomComponent</component-type>
<component-class>com.company.jsf.component.CommaSeperatedOutput</component-class>
</component>
이제 효과가 있습니다.
또는 스프링 컨테이너를 사용하도록 faces-config.xml 파일을 구성했으므로 스프링 주석을 사용할 수 있습니다.@Component("myCustomComponent")
언급URL : https://stackoverflow.com/questions/9684402/jsf-custom-component-with-facescomponent-is-not-found-in-spring-boot
반응형
'programing' 카테고리의 다른 글
PathLib에서 디렉터리를 재귀적으로 제거하시겠습니까? (0) | 2023.07.21 |
---|---|
문자열의 하위 문자열 테스트 (0) | 2023.07.21 |
데이터 프레임을 사전으로 변환하는 방법 (0) | 2023.07.21 |
Python에서 기본 클래스의 클래스 메서드 호출 (0) | 2023.07.21 |
git 하위 디렉토리에서 pip을 사용하여 설치하려면 어떻게 해야 합니까? (0) | 2023.07.21 |