我正在使用JSF开发Java Web应用程序。我有一个会话范围的托管 Bean。此 bean 在应用程序中的一个 jsp 中使用。呈现页面时,似乎没有实例化 bean。但是,当单击"命令按钮"时,我能够看到为托管 Bean 调用的构造函数。
属性绑定是使用"h:inputText"标记中的值属性完成的。'h:commandButton' 的 action 属性绑定到受管 Bean 中的某个方法。
豆类
public class EventController implements Serializable{
private String eventName;
private String eventVenue;
//Getters, Setter & No Arg Constructor
public String proceed(){
//Implementation for proceed
}
}
人脸配置.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>
事件.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}"。
你的 bean 在 JSP 中的名字是错误的:eventContoller。您定义了:事件控制器。看
<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>