在web.xml中jsf的listener和spring的listener都设置了吗?
配监听了
<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>
<welcome-file-list>
<welcome-file>index.jsp </welcome-file>
</welcome-file-list>
<!-- spring 监听器 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener> 页面:
<body>
<f:view>
<h:form>
<h:outputText value="#{user.errmessage}"> </h:outputText> <p>
名称: <h:inputText value="#{user.name}"> </h:inputText> <p>
密码: <h:inputSecret value="#{user.password}"> </h:inputSecret> <p>
<h:commandButton value="提交" action="#{user.verify}"> </h:commandButton> </h:form>
</f:view>
</body>
实体bean:
public class UserBean {
private String name;
private String password;
private String errmessage;
private UserDAO userdao; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getErrmessage() {
return errmessage;
}
public void setErrmessage(String errmessage) {
this.errmessage = errmessage;
} public String verify(){
Book book = new Book();
book.setName(name);
book.setPassword(password);
userdao.save(book);
return "success";
}
public UserDAO getUserdao() {
return userdao;
}
public void setUserdao(UserDAO userdao) {
this.userdao = userdao;
}
spring配置文件:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="DataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean> <bean id="userdao" class="com.dao.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory">
</property>
</bean> <bean id="user" class="com.bean.UserBean">
<property name="userdao" ref="userdao"> </property>
</bean>
老是报错,老说空javax.faces.el.EvaluationException: Expression Error: Named Object: 'userdao' not found
配监听了
<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>
<welcome-file-list>
<welcome-file>index.jsp </welcome-file>
</welcome-file-list>
<!-- spring 监听器 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener> 页面:
<body>
<f:view>
<h:form>
<h:outputText value="#{user.errmessage}"> </h:outputText> <p>
名称: <h:inputText value="#{user.name}"> </h:inputText> <p>
密码: <h:inputSecret value="#{user.password}"> </h:inputSecret> <p>
<h:commandButton value="提交" action="#{user.verify}"> </h:commandButton> </h:form>
</f:view>
</body>
实体bean:
public class UserBean {
private String name;
private String password;
private String errmessage;
private UserDAO userdao; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getErrmessage() {
return errmessage;
}
public void setErrmessage(String errmessage) {
this.errmessage = errmessage;
} public String verify(){
Book book = new Book();
book.setName(name);
book.setPassword(password);
userdao.save(book);
return "success";
}
public UserDAO getUserdao() {
return userdao;
}
public void setUserdao(UserDAO userdao) {
this.userdao = userdao;
}
spring配置文件:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="DataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean> <bean id="userdao" class="com.dao.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory">
</property>
</bean> <bean id="user" class="com.bean.UserBean">
<property name="userdao" ref="userdao"> </property>
</bean>
老是报错,老说空javax.faces.el.EvaluationException: Expression Error: Named Object: 'userdao' not found
顶一个
期望高手的到来