This is an off-shoot of an unanswered question I posted about 10 days ago
(during the holidays, I know...)  The orginal email is repeated below, but I'm
asking a more general question now.

I've been getting very frustrated with trying to figure out why some of my jsp's
are not retrieving properties from the backing action.  I have devMode=true and
logging set to DEBUG; but there's nothing in the logs thats helping me.  Break
points inside the getters are not hit.  I've tried both OGNL-based function
calls and EL-based bean/property approaches.  95% of the time everything is
good, but I've been stuck on this jsp for about two weeks and can't figure out
why it doesn't work and I can't seem to find any diagnostic aide to figure out
where the problem is.  (The following code shows the original attempt,  I've
already tried an approach that follows bean conventions, and returns a complete
map rather that is indexed inside the JSP rather than this on-demand lookup
version.)

Can anyone offer any helpful hints for diagnosing why my function isn't getting
called?

Thank you.
Eric

-------------- Original Email ----------------

I'm working on something a little bit like a data grid. However, while the
current display is tabular, the data backing it isn't. As a result I can't use
straight map notation to access the values to display.  For now I have a
inefficient helper lookup attached to the action, but I can't seem to get it
invoked.

The relevant portion of the jsp looks like

  <s:iterator value="competition.feeCategories" id="fee">
    <tr><th><s:property value="name" /></th></tr>
    <s:iterator value="competition.sessions" id="session">
      <tr>
        <td><s:property value="name" /></td>
   <s:iterator value="competition.deadlines" id="deadline">
            <td><s:property value="#session.getDisplayPrice(#deadline,#fee)"
/></td> <!-- 1 -->
            <td><s:textfield
name="sessionMap[%{#session.id}][%{#deadline.id}][%{#fee.id}]"

value="%{getSessionMarkup(#session,#fee,#deadline).costDeltaInCents}" /></td>
<!-- 2-->
            <td>Studio Markup (%)</td>
          </s:iterator>
   </tr>
     </s:iterator>
   </s:iterator>


The action looks like:
public class ConfigurePrices extends ExcursionBase {
        public String execute() {
                return SUCCESS;
        }
        public StudioSessionPrice getSessionMarkup(Session session,
CompetitionDeadline
deadline, FeeCategory fee) {
                for (StudioSessionPrice ssp: excursion.getSessionPrices()) {
                        if
(ssp.getUnderlyingCompetitionSession().getSession().equals(session) &&
                                       
ssp.getUnderlyingCompetitionSession().getDeadline().equals(deadline) &&
                                       
ssp.getUnderlyingCompetitionSession().getFeeCategory().equals(fee))
                                return ssp;
                }
                StudioSessionPrice ssp = new StudioSessionPrice();
                ssp.setExcursion(excursion);
               
ssp.setUnderlyingCompetitionSession(session.getCSPfor(deadline,fee));
                ssp.setCostDeltaInCents(0L);
                ssp.setDeltaInPercent(0.0F);
                excursion.addSessionPrice(ssp);
                excursionRepository.save(excursion);
                return ssp;
        }
}

ExcursionBase implements ActionSupport; the jsp shown before is hooked up to the
INPUT result of the action.

The line preceding the <!-- 1 --> works properly, so I thought I knew how to
call functions with parameters in OGNL. The line around <!-- 2--> does not
work. The breakpoint just inside the function is not hit. However there are no
errors in the log. None of the iterator related objects respond to the
getSessionMarkup message and thus shouldn't be masking it from bubbling down to
the action.  What am I missing?

Thank you.

Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to