【发布时间】:2011-11-14 07:22:56
【问题描述】:
我在添加两个特定组件时遇到了 dataType 组件和 ActionListener 的问题...
JSF 的代码片段是:-
<h:outputLabel value="#{msg.org_SubscriberGroupId_1} " styleClass="intro" escape="false"/>
<h:outputLabel value=" : " escape="false"/>
<h:inputText value="#{SubscriberServiceProfile.closedSubscriberGroupId1}" id="txtClosdGrup1" styleClass="textBox" label="#{msg.org_SubscriberGroupId_1}" />
<h:outputLabel value="#{msg.org_expiryDate_1}" styleClass="intro" escape="false"/>
<h:outputLabel value=" : " escape="false"/>
<rich:calendar id="expiryDate1" value="#{SubscriberServiceProfile.dtExpiryDate1}" styleClass="textBox" datePattern="dd-MMM-yyyy" required="false" label="#{msg.org_expiryDate_1}" />
代码重复5次...不同的id...和不同的索引...
我的后台 Bean 代码是:-
public class ServiceProfile
{
private String closedubscriberGroupId1="0";
private String closedSubscriberGroupId2="0";
private String closedSubscriberGroupId3="0";
private String closedSubscriberGroupId4="0";
private String closedSubscriberGroupId5="0";
private Date dtExpiryDate1;
private Date dtExpiryDate2;
private Date dtExpiryDate3;
private Date dtExpiryDate4;
private Date dtExpiryDate5;
//respective getters and setters
public void create(ActionListener act)
{
//action listener code
}
}
问题出在 ClosedSubscriberGroup 或 Expiry date 的数据类型上。 用户将在 closedSubscriberGroup Id 输入字段中输入整数值。
但问题是我的 actionListener 不会被触发,除非我在 closedSubscriberGroupId 的所有 5 个文本框中指定值。JSF 中没有验证。仍然不允许我提交表单并调用动作监听器。
可能是什么问题..????..是数据类型吗???还是其他什么问题???... 请指导我....
【问题讨论】:
-
你到底想做什么?您想将
<h:inputText id="txtClosdGrup1" />中输入的文本转换为javaDate数据类型??或者您想在<h:inputText id="txtClosdGrup1" />上有onChange()事件时调用bean 的方法?? -
将
添加到页面并检查是否发生任何验证错误(或者只是查看服务器日志,应该在那里记录验证错误)。 -
@ken chan 我的基本需求是在 inputText 用户将输入整数值...对于 rich:date 类型,他将从日历中选择一个日期...没有 onchange 事件和只有在提交表单时,所有值才会传递给支持 Bean...没有对支持 Bean 的中间调用....
-
@Andrey 那是我最后的选择。但我想没有其他方法可以解决这个问题...。将 c 发送消息...
-
将把这 10 个条目(closedGroup 和 expirydate)放在一个新的 panelGrid 中有助于解决这个问题????
标签: java jsf jsf-2 richfaces actionlistener