、ゲッタープロパティで使用する<h:outputText>
と、機能しません。しかし、ページから削除すると、プロパティはうまく機能します。もう1つ、リンクをクリックすると、アクションメソッドのnull値が取得されます。asを使っていても、理由はわかりません。<p:panelGrid>
getStartDate()
getEndDate()
<p:panelGrid>
getter
Go To Next Week
endDate
nextWeek()
DatePick
Conversation Scope
mypage.xhtml
<table>
<tr>
<td>
<p:commandLink action="#{DatePick.nextWeek()}" immediate="true" value="Go To Next Week" />
</td>
</tr>
<tr>
<td colspan="2">
<p:panelGrid style="margin-top:-1px;" id="datePanel">
<h:outputText value="#{DatePick.startDate}" style="color:#333333;font-size:15px;">
<f:convertDateTime pattern="yyyy-MM-dd"/>
</h:outputText>
-
<h:outputText value="#{DatePick.endDate}" style="color:#333333;font-size:15px;">
<f:convertDateTime pattern="yyyy-MM-dd"/>
</h:outputText>
</p:panelGrid>
</td>
</tr>
</table>
DatePick.java
@Name("DatePick")
@Scope(ScopeType.CONVERSATION)
public class DatePick {
private Date startDate;
private Date endDate;
private boolean initFlag = true;
public void init() {
System.out.println("init().....");
initFlag = false;
startDate = new Date();
}
public boolean getInitFlag() {
System.out.println("getInitFlag() : " + initFlag);
return initFlag;
}
public Date getEndDate() {
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.DATE, 7);
endDate = cal.getTime();
System.out.println("getEndDate() : " + endDate);
return endDate;
}
public Date getStartDate() {
System.out.println("getStartDate() : " + startDate);
return startDate;
}
public void nextWeek() {
System.out.println("nextWeek() : " + endDate);
startDate = endDate;
}
}