日期:2014-05-16 浏览次数:20445 次
最近一直在用这个框架,现在来就它们的整合要点来做一个总结。jsf与spring结合的时候在service层spring对jsf进行注入,下面来看看配置文件。
web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
//关联jsf
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
//关联spring
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
//关联jsf的核心配置文件
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/tiles-faces-config.xml,
/WEB-INF/conf/jsf/user-faces-config.xml
</param-value>
//关联页面上要用到的下拉菜单
<context-param>
<param-name>tiles-definitions</param-name>
<param-value>
/WEB-INF/conf/jsf/user-tiles.xml
</param-value>
</context-param>
//关联spring配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/conf/spring/*.xml
</param-value>
</context-param>
//从地址栏匹配符合条件的内容,用Faces Servlet进行控制
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Login.jsf</welcome-file>
</welcome-file-list>
</web-app>
??tiles-faces-config.xml这个文件里面的内容是写在face-config.xml文件中的,如果就一个face-config.xml文件,可以将以下内容写入face-config.xml文件中,但是当有多个时,为了避免重复的代码就单独提了出来
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
</application>
</faces-config>
?user-tiles.xml
<!DOCTYPE tiles-definitions
[
<!ELEMENT component-definitions (definition+)>
<!ELEMENT tiles-definitions (definition+)>
<!ELEMENT definition (put*, putList*)>
<!ATTLIST definition
name CDATA #REQUIRED
pages CDATA #IMPLIED
path CDATA #IMPLIED
extends CDATA #IMPLIED
role CDATA #IMPLIED
template CDATA #IMPLIED
controllerClass CDATA #IMPLIED
controllerUrl CDATA #IMPLIED>
<!ELEMENT put (#PCDATA)>
<!ATTLIST put
name CDATA #REQUIRED
value CDATA #IMPLIED
type (string | pages | template | definition) #IMPLIED
content CDATA #IMPLIED
direct (true | false) #IMPLIED>
<!ELEMENT putList ( (add* | item* | bean* | putList*)+) >
<!ATTLIST putList
name CDATA #REQUIRED>
<!ELEMENT putListElements (add | item | bean)>
<!ELEMENT add (#PCDATA)>
<!ATTLIST add
value CDATA #IM