1.JSF的配置文件
<application> <variable-resolver> org.springframework.web.jsf.DelegatingVariableResolver </variable-resolver> </application> <managed-bean> <managed-bean-name>UserLogin</managed-bean-name> <managed-bean-class> org.logindemo.view.bean.UserLogin </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>username</property-name> <property-class>java.lang.String</property-class> <value></value> </managed-property> <managed-property> <property-name>password</property-name> <property-class>java.lang.String</property-class> <value></value> </managed-property> <managed-property> <property-name>facadeManager</property-name> <value>#{FacadeManager}</value> </managed-property> </managed-bean> <navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/login_success.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>failure</from-outcome> <to-view-id>/login.jsp</to-view-id> </navigation-case> </navigation-rule>
2.spring的配置文件
<bean id="UserDao" class="org.logindemo.dao.impl.UserDaoImpl" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="FacadeManager" class="org.logindemo.service.impl.FacadeManagerImpl" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> <property name="userDao"> <ref bean="UserDao" /> </property> </bean>
3.web配置文件
<context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <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>*.faces</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param>
4.如果不用spring注入的方式也可以得到spring的bean
import javax.faces.context.FacesContext;
import org.springframework.context.ApplicationContext;
import org.springframework.web.jsf.FacesContextUtils;
public class Factory {
public static FacadeManager getFacadeManager(){
ApplicationContext context=FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
FacadeManager facade=(FacadeManager)context.getBean("FacadeManager");
return facade;
}
}
5.UserLogin Bean in JSF
public class UserLogin {
private FacadeManager facadeManager;
private String username;
private String password;
public UserLogin(){
}
public String userLogin(){
if(facadeManager==null)return "failure";
User user=new User(this.username,this.password);
return facadeManager.validateUser(user);
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void setFacadeManager(FacadeManager facadeManager) {
this.facadeManager = facadeManager;
}
}
6.用到的jar包
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-api.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/antlr-2.7.6.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-attrs.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cglib-2.1.3.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-beanutils.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-collections-2.1.1.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-dbcp.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-digester.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-pool.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/dom4j-1.6.1.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate3.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jta.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.0.4-bin.jar"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/standard.jar"/> <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/> </classpath>