[Opensource] Problem with expresso iteration tags

Raul DAVIDOVICH R.DAVIDOVICH at caconcology.com
Wed Aug 14 03:05:21 PDT 2002


Hello,

      I'm trying to output something on the screen, but I'm having some
problems with the iterate tags. when I try the following JSP, for just one
record, it works fine (the controller's code is right after it):

listDAPar.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %>
<%@ taglib uri="/expresso" prefix="expresso" %>

<table class="jc-default" border="3" align="center">
<tr>
  <th><b>Test5</b></th>
  <th><b>Test2</b></th>
  <th><b>Test3</b></th>
</tr>
       <expresso:OutputTag name="SelectedDA">
      <tr>
         <td><expresso:AttributeTag name="Abreviature"/> &nbsp; </td>
       <td><expresso:AttributeTag name="Label"/> &nbsp; </td>
       <td><expresso:AttributeTag name="Commens"/> &nbsp; </td>
      </tr>
      </expresso:OutputTag>

</table>

DAParController.java

...
protected ControllerResponse runListDAParState(ControllerRequest params,
ControllerResponse response) throws ControllerException{

         try{
        String daCodeStr = "2";
        DAPar da = new DAPar();
        da.setDBName(params.getDBName());
        da.setField("RefDAPar", daCodeStr);
        da.retrieve();

        Output out1 = new Output();
        out1.setName("SelectedDA");
        out1.setAttribute("Abreviature", da.getField("DAParAbrev"));
        out1.setAttribute("Label", da.getField("DAParLabel"));
        out1.setAttribute("Use Medical Writing", da.getField
("DAParUseMW"));
        out1.setAttribute("Use CRO", da.getField("DAParUseCRO"));
        out1.setAttribute("Use Biometrics", da.getField("DAParUseBM"));
        out1.setAttribute("Type of Income", da.getField("DAParTypeDep"));
        out1.setAttribute("Commens", da.getField("DAParComment"));
        response.add(out1);
          }
          catch (DBException dbe) {
            throw new ControllerException("Database exception: " +
dbe.getMessage());
          }

          response.setStyle("listDAPar");
          return response;
      }/*runListDAParState*/
...


Now, when I try to retrieve several records and make an iteration over the
blocks and outputs, nothing happens. Here is the JSP followed by the
controller's state:

listDAPar.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %>
<%@ taglib uri="/expresso" prefix="expresso" %>

<table class="jc-default" border="3" align="center">
<tr>
  <th><b>Test5</b></th>
  <th><b>Test2</b></th>
  <th><b>Test7</b></th>
</tr>
  <expresso:ElementCollection type="block">
  <expresso:ElementIterator>


    <expresso:ElementCollection type="output">
    <expresso:ElementIterator>
      <expresso:OutputTag name="Detail">
      <tr>
         <td><expresso:AttributeTag name="Abreviature"/> &nbsp; </td>
       <td><expresso:AttributeTag name="Label"/> &nbsp; </td>
       <td><expresso:AttributeTag name="Commens"/> &nbsp; </td>
      </tr>
      </expresso:OutputTag>
    </expresso:ElementIterator>
    </expresso:ElementCollection>

 </expresso:ElementIterator>
 </expresso:ElementCollection>

</table>


DAParController.java
...
      /**
       * List Parameter Activity Domains State
       */
       protected ControllerResponse runListDAParState(ControllerRequest
params, ControllerResponse response) throws ControllerException{

          try{
            //System.out.println("coucou");
              Block blockList = new Block("DAParList");
              DAPar DAParInit = new DAPar();
              DAParInit.setDBName(params.getDBName());
              ArrayList list = DAParInit.searchAndRetrieveList
("DAParAbrev");
              for(int k=0; k<list.size(); ++k) {
                DAPar da = (DAPar)list.get(k);
                //create a Block for each row tuple
                Block blockRow = new Block("Comp"+k);
                blockList.add(blockRow);
                //create an output for the DBObject row tuple
                Output out1 = new Output();
                out1.setName("Detail");
                out1.setAttribute("Abreviature", da.getField
("DAParAbrev"));
                out1.setAttribute("Label", da.getField("DAParLabel"));
                out1.setAttribute("Use Medical Writing", da.getField
("DAParUseMW"));
                out1.setAttribute("Use CRO", da.getField("DAParUseCRO"));
                out1.setAttribute("Use Biometrics", da.getField
("DAParUseBM"));
                out1.setAttribute("Type of Income", da.getField
("DAParTypeDep"));
                out1.setAttribute("Commens", da.getField("DAParComment"));
                blockRow.add(out1);

                Transition editDAParTrx = new Transition("Edit", getClass
().getName());
                editDAParTrx.setName("EditDAPar");
                editDAParTrx.addParam("state", "promptEditDAPar");
                editDAParTrx.addParam("da", da.getField("RefDAPar"));
                blockRow.add(editDAParTrx);

                Transition deleteDAParTrx = new Transition("Delete",
getClass().getName());
                deleteDAParTrx.setName("DeleteDAPar");
                deleteDAParTrx.addParam("state", "promptDeleteDAPar");
                deleteDAParTrx.addParam("da", da.getField("RefDAPar"));
                blockRow.add(deleteDAParTrx);
              }
              response.addBlock(blockList);
          }
          catch (DBException dbe) {
            throw new ControllerException("Database exception: " +
dbe.getMessage());
          }

          response.setStyle("listDAPar");
          return response;
      }/*runListDAParState*/
...


Finnally, when I try to use certain tags, like expresso:TableHead, or
expresso:TransitionTag, I get the following error message:

org.apache.jasper.compiler.ParseException:
/cacis/administration/listDAPar.jsp(4,0) Body is supposed to be empty for
expresso:TableHead

If I take out the <%@ %> tags, the page compiles, but I see nothing


any help will be very appreciated


Best regards

---------------------------------------------------
Raul Davidovich
Responsable Informatique
Cvitkovic & Associés Consultants

(33) 1 45 15 40 68
(33) 1 45 15 40 41 Fax
-------------------------------------------------------
http://www.caconcology.com





More information about the Opensource mailing list