无法将JSF托管Bean与呈现的视图绑定

时间:2019-05-31 21:05:52

标签: java jsf-2.2

我正在使用JSF开发Java Web应用程序。我有一个会话范围内的托管bean。该bean在应用程序的jsp之一中使用。呈现页面时似乎未实例化bean。但是,单击“ commandButton”后,我能够看到托管bean的构造函数。

使用'h:inputText'标记中的value属性完成属性绑定。 “ h:commandButton”的action属性绑定到托管Bean中的方法之一。

Bean类

public class EventController implements Serializable{
private String eventName;
private String eventVenue;

//Getters, Setter & No Arg Constructor


public String proceed(){
   //Implementation for proceed
}

}

faces-config.xml

<managed-bean>
   <managed-bean-name>eventController</managedBean>
   <managed-bean-class>com.eventapp.eventController</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

event.jsp

<tr>
  <td>
       <label>event Name:</label>     
  </td>
  <td>
       <h:inputText value=#{eventContoller.eventName}>
  </td>
<tr>

<tr>
  <td>
       <label>event Venue:</label>     
  </td>
  <td>
       <h:inputText value=#{eventContoller.eventVenue}>
  </td>
<tr>

<tr>
  <td>
       <h:commandButton action=#{eventController.proceed} value="Continue">
  </td>
<tr>

我希望在文本字段中看到空白值,但看到的是“#{eventContoller.eventName}”。

1 个答案:

答案 0 :(得分:0)

您的bean在JSP中的名称错误:eventContoller。您定义了:eventController。见

 <managed-bean>
    <managed-bean-name>eventController</managedBean>
   <managed-bean-class>com.eventapp.eventController</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>
</managed-bean>