Jsf 单击按钮时,重新初始化当前月份名称
在我的richCalendar.jsp页面中,我第一次单击showCurrentMonth按钮并使用rich:calendar显示当前月份。Jsf 单击按钮时,重新初始化当前月份名称,jsf,calendar,initialization,richfaces,Jsf,Calendar,Initialization,Richfaces,在我的richCalendar.jsp页面中,我第一次单击showCurrentMonth按钮并使用rich:calendar显示当前月份。 我选择其他月份 我单击所选月份按钮。我显示所选的月份名称 我的问题是: 我转到任何其他页面。然后我访问richCalendar.jsp,再次单击showCurrentMonth按钮,这次rich:calendar显示的是已经选择的月份,而不是当前月份。 每次单击showCurrentMonth时,我都希望显示当前月份 否则很简单,单击showCurrent
我选择其他月份
我单击所选月份按钮。我显示所选的月份名称 我的问题是: 我转到任何其他页面。然后我访问richCalendar.jsp,再次单击showCurrentMonth按钮,这次rich:calendar显示的是已经选择的月份,而不是当前月份。
每次单击showCurrentMonth时,我都希望显示当前月份 否则很简单,单击showCurrentMonth按钮,然后选择其他月份, 然后我点击showCurrentMonth按钮,我想显示当前月份的名称 richCalendar.jsp
<body>
<h:form id="calendarForm" binding="#{CalenderBean.initForm}">
<rich:panel>
<a4j:outputPanel id="calendarOutputPanel">
<h:panelGrid>
<a4j:commandButton value="showCurrentMonth"
action="#{CalenderBean.showCurrentMonthAction}"
reRender="monthlyPanelGridId,monthlyCalendarId,calendarOutputPanel"/>
<h:panelGrid id="monthlyPanelGridId" rendered="#{CalenderBean.monthlyCalendarRendered}" >
<rich:calendar boundaryDatesMode="scroll"
id="monthlyCalendarId"
showWeekDaysBar="false"
oncurrentdateselected="event.rich.component.selectDate(event.rich.date)"
showFooter="false"
popup="false"
value="#{CalenderBean.selectedMonth}"/>
</h:panelGrid>
<h:panelGrid id = "SearchButtonGrid">
<a4j:commandButton id="SelectedMonth"
value="SelectedMonth"
action="#{CalenderBean.selectedMonthButtonAction}"
reRender="calendarOutputPanel"/>
<h:outputText value="#{CalenderBean.selectedMonthName}" />
</h:panelGrid>
</h:panelGrid>
</a4j:outputPanel>
<rich:panel></h:form></body>
公共级压延豆
{
我第一次访问此页面时会完美地显示当前月份。然后我转到任何其他页面,然后来看此页面,单击showCurrentMonth按钮不显示当前月份
帮帮我。
提前感谢。尝试从日历控件中删除
popup=“false”
。它将根据您的需要工作
我不知道这种奇怪行为的原因,但我想可能存在一些渲染问题
import java.util.Calendar;
import java.util.Date;
import javax.faces.component.html.HtmlForm;
private HtmlForm initForm;
private boolean monthlyCalendarRendered;
private Date selectedMonth;
private String selectedMonthName;
public CalenderBean()
{
}
public String showCurrentMonthAction()
{
monthlyCalendarRendered = true;
Calendar calendar = Calendar.getInstance();
int startingDate = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DATE, startingDate);
selectedMonth = calendar.getTime();
return "";
}
public String selectedMonthButtonAction()
{
selectedMonthName = selectedMonth.toString();
return "";
}
public HtmlForm getInitForm()
{
selectedMonth = null;
monthlyCalendarRendered = false;
return initForm;
}
public void setInitForm(HtmlForm initForm){
this.initForm = initForm;
}
public boolean isMonthlyCalendarRendered(){
return monthlyCalendarRendered;
}
public void setMonthlyCalendarRendered(boolean monthlyCalendarRendered){
this.monthlyCalendarRendered = monthlyCalendarRendered;
}
public Date getSelectedMonth(){
return selectedMonth;
}
public void setSelectedMonth(Date selectedMonth){
this.selectedMonth = selectedMonth;
}
public String getSelectedMonthName(){
return selectedMonthName;
}
public void setSelectedMonthName(String selectedMonthName){
this.selectedMonthName = selectedMonthName;
}
}