我正在使用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}”。
答案 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>