I've spent too much time on this so far and am wondering if conceptually I am doing something wrong. I would imagine this to be a fairly common use case for folks, so here's the issue: Here's a snippet of my xhtml page -
| <s:decorate template="layout/edit.xhtml"> | <ui:define name="label">Timeline</ui:define> | <h:selectOneMenu id="timeline" value="#{task.selectedTimeline}" required="false" | immediate="true"> | <f:valueChangeListener type="com.edwardjones.statusreporting.view.TimelineChangeListener" /> | <s:selectItems id="timelinelst" value="#{timelineList}" | var="timeline" label="#{timeline.description}" /> | <s:convertEntity /> | <a:support event="onchange" reRender="dt"/> | </h:selectOneMenu> | </s:decorate> | | <h:inputText id="dt" | value="#{selectedTimeline.startDate}"> | <f:convertDateTime pattern="MM/dd/yyyy"/> | </h:inputText> | | <jp:popupCalendar id="date_popup" | for="date" | format="MM/dd/yyyy" | rendered="#{!disabled and rendered != false}"> | <h:graphicImage url="img/calendar.gif" | title="Click here to select date"/> | </jp:popupCalendar> | The TimelineChangeListener is as follows: | @Name("timelinechange") | public class TimelineChangeListener implements ValueChangeListener | { | @Out(value="selectedTimeline", required = false, scope = SESSION) | Timeline timeline; | | public void processValueChange(ValueChangeEvent arg0) | throws AbortProcessingException { | timeline = (Timeline) arg0.getNewValue(); | | // TODO Auto-generated method stub | System.out.println("timeline selection"); | } | } | The Timeline entity looks as follows: | /** | * Timeline generated by hbm2java | */ | @Entity | @Name("timeline") | @Role(name="selectedTimeline", scope=SESSION) | @Table(name = "timeline", catalog = "statreport", uniqueConstraints = @UniqueConstraint(columnNames = "description")) | public class Timeline implements java.io.Serializable | { | private int id; | | private String description; | | public Timeline() | { | } | | public Timeline(int id, String description) | { | this.id = id; | this.description = description; | } | | @Id | @Column(name = "id", unique = true, nullable = false) | @NotNull | public int getId() | { | return this.id; | } | | public void setId(int id) | { | this.id = id; | } | | @Column(name = "description", unique = true, nullable = false, length = 20) | @NotNull | @Length(max = 20) | public String getDescription() | { | return this.description; | } | | public void setDescription(String description) | { | this.description = description; | } | | @Transient | public Date getStartDate() | { | Calendar startCal = Calendar.getInstance(); | // Determine start of week | if (getDescription() == null || getDescription().equals("Weekly")) | { | System.out.println("Weekly timeline"); | } | else if ( getDescription().equals("Monthly")) | { | System.out.println("Monthly timeline"); | } | // Convert calender to date | Date startDate = startCal.getTime(); | return startDate; | } | | @Transient | public Date getEndDate() | { | Calendar startCal = Calendar.getInstance(); | if (getDescription() == null || getDescription().equals("Weekly")) | { | ........... | } | return endDate; | } | } | | The ajax support tag calls the timelinechangelistener which sets the selected timeline and puts it into a session scope. Since the rendered element calls the selected timeline getStartDate method, I expected the selected timeline to get passed in, however the timeline on which the getStartDate is called is never selectedTimeline. Hopefully, made things clear as to what I am trying to accomplish. In short, based on the selected timeline, I would like to change the start date/end date logic. Any help is appreciated.... Thanks Amit Karandikar View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4057166#4057166 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4057166 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user