我在添加两个特定组件时面临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的数据类型或到期日期。 用户将在closedSubscriberGroup Id输入字段中输入整数值。
但问题是我的actionListener没有被触发,除非我在closedSubscriberGroupId的所有5个文本框中指定值。在JSF中没有验证.Still它不允许我提交表单和调用的ActionListener。
可能出现什么问题.. ???? ..是DataType ???或任何其他问题?? ... 请指导我......
答案 0 :(得分:1)
从您的评论中,您似乎希望将您在<h:inputText>
和<rich:calendar>
中输入的值设置为其支持bean,并在{{1}上每当onchange事件时立即调用bean方法和<h:inputText>
发生了
您可以使用<rich:calendar>
:
a4j:support
这意味着只要在<rich:calendar value="#{bean.date}" styleClass="textBox" datePattern="dd-MMM-yyyy" required="false">
<a4j:support event="onchanged" action="#{bean.onChangeDate}" ajaxSingle="true"/>
</rich:calendar>
<h:inputText value="#{bean.aString}" styleClass="textBox">
<a4j:support event="onchange" action="#{bean.onChangeText}" ajaxSingle="true" />
</h:inputText>
和<h:inputText>
上发生onchange事件,就会触发Ajax请求以调用<rich:calendar>
属性指定的方法。 action
属性在此非常重要,因为它会在调用ajaxSingle
之前将您在控件中输入的值立即设置为其辅助bean。
请注意,对于action
,onchange事件为 onchanged 而非 onchange
参考: