【问题标题】:JSF + SPRING: Managed Bean is always null [duplicate]JSF + SPRING:托管 Bean 始终为空 [重复]
【发布时间】:2016-05-09 10:39:06
【问题描述】:

我是 JSF 和 Spring 集成的初学者。我在一些 youtube 视频中观看了如何开始开发。但是我的应用程序非常简单,并且总是将 null 返回到托管 bean。我使用了 inputText 并且 set 方法为空。我需要一个会话实现?怎么了?

xhtml

  <p:outputLabel id="text1" value="Name:" />
   <p:inputText id="teste" value="#{restAction.teste}" />    
   <p:commandButton value="save" actionListener="#{restAction.save}" />

托管 Bean

@Named
@ManagedBean
@Scope("session")
public class RestAction {

String teste;

public void save(){

    if(teste != null){
        // ----
    }   
}

public String getTeste() {
    return teste;
}

    public void setTeste(String teste) {
        this.teste = teste;


}

人脸配置

<application>
        <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
    </application>

网络配置

    </welcome-file-list>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
    </context-param>
    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
    </context-param>
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>
</web-app>

【问题讨论】:

    标签: java spring spring-mvc jsf jsf-2


    【解决方案1】:

    对于 JSF,使用 @SessionScoped 而不是 @Scope("session") 并确保 &lt;p:inputText&gt;...&lt;p:commandButton&gt; 包含在 &lt;h:form&gt; 标记内。没有它,任何东西都不会发送到服务器供 JSF 处理。

    【讨论】:

      猜你喜欢
      • 2012-11-08
      • 2017-06-14
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 2014-07-01
      • 2013-01-23
      相关资源
      最近更新 更多