0
나는 봄과 JSF를 통합하려고, 그래서 아주 간단한 코드가 함께 봄 속성 값을 확인할 수 없습니다 : ApplicationContext.xmlJSF
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="messageService" class="test.UserData">
<property name="message" value="Hello World" />
</bean>
</beans>
을
manged했던 콩
@ManagedBean(name = "userData")
@SessionScoped
public class UserData implements Serializable {
private static final long serialVersionUID = 1L;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getGreetingMessage(){
return getMessage();
}
}
을 Web.xml
<!-- Add Support for Spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
얼굴-config.xml에
<?xml version="1.0"?>
<faces-config 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"
version="2.0">
<application>
<!-- SpringBeanFacesELResolver -->
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
</application>
</faces-config>
home.xhtml 나는 home.xhtml을 실행할 때
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Spring with JSF</title>
</h:head>
<h:body>
#{userData.greetingMessage}
</h:body>
</html>
문제는, 내가 마사지의 가치를 얻을하지 않습니다! 빈 페이지 만 표시합니다. ApplicationContext.xml에서 message 속성의 값을 가져올 수없는 것 같습니다.
내 방법이 잘못되어 어떻게 해결할 수 있습니까?
답변 해 주셔서 감사합니다. JSF 빈 클래스 대신 applicationContext.xml에서 sessionCope를 사용하는 경우에만 수정되었습니다. ?? 또는 # {userData.getMessage}를 항상 사용해야한다는 것을 의미합니다 (getter) ?? –
@ R.Almoued getter는 오타였습니다. JSF가 아닌 Spring 빈을 참조해야한다는 뜻입니다. JSF가 아닌 빈을 관리하도록합니다. –
귀하의 솔루션에 대해 감사드립니다. –