Bugs item #825135, was opened at 2003-10-16 23:51
Message generated for change (Comment added) made by fgiust
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=536613&aid=825135&group_id=73068

Category: main tag library
Group: v 1.0-b1
>Status: Closed
>Resolution: Works For Me
Priority: 7
Submitted By: Joachim Martin (joachimm)
Assigned to: fabrizio giustina (fgiust)
Summary: displaytag does not recognize BeanUtils DynaBeans

Initial Comment:
In this example, the first iterate tag works, but the 
displaytag doesn't.   The first iterate tag also works
if you hard-code the property to "SYSDATE".

Seems like if you are using commons-beanutils.jar, 
this should work.  And it would be a really slick way
to allow (power) end-users to run their own dynamic
reports embedded in apps.

I haven't tried this on the CVS HEAD.

--Joachim
=====================================

<%@ page import="java.sql.*,
java.util.*,org.apache.commons.beanutils.*" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld"
prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld"
prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/displaytag.tld"
prefix="displaytag" %>

<%
      Properties props = new Properties();
      props.put("user", "YOUR_USER_HERE");
      props.put("password", "YOUR_PW_HERE");
      props.put("db", "YOUR_DB_HERE");
      props.put("url",
"jdbc:oracle:thin:@YOUR_DB_INFO_HERE");
      props.put("driver",
"oracle.jdbc.driver.OracleDriver");      

      Connection con = null;
      Class.forName((String) props.get("driver"));
      con = DriverManager.getConnection((String)
props.get("url"), props);

      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery("SELECT sysdate
from dual");
      RowSetDynaClass resultSet = new
RowSetDynaClass(rs, false);
      rs.close();
      stmt.close();
      con.close();
      request.setAttribute("resultSet", resultSet);

%>

<table border=0 cellpadding=0 cellspacing=0
bgcolor=FFFFFF><tr><tr>
<table border=0 cellpadding=4 cellspacing=1 bgcolor=000000>

<%-- headers for this result set --%>
<tr>
<logic:iterate id="fieldProperty" name="resultSet"
property="dynaProperties">
<th bgcolor=CCCCCC><bean:write name="fieldProperty"
property="name"/></th>
</logic:iterate>
</tr>

<%-- rows --%>
<logic:iterate id="row" name="resultSet" property="rows">
<tr>
<%-- fields --%>
<logic:iterate id="fieldProperty" name="resultSet"
property="dynaProperties">
<bean:define id="fieldName" name="fieldProperty"
property="name"  type="java.lang.String"/>
<td bgcolor=FFFFFF><bean:write name="row"
property="<%=fieldName%>" ignore="true"></bean:write></td>
</logic:iterate>
</tr>
</logic:iterate>
</table>
</tr>
</table>

<displaytag:table name="resultSet" property="rows">
   <displaytag:column property="sysdate"
></displaytag:column>
</displaytag:table>

<br>

----------------------------------------------------------------------

>Comment By: fabrizio giustina (fgiust)
Date: 2003-11-01 22:39

Message:
Logged In: YES 
user_id=798060

I tested this on the latest cvs code and it works. It should 
work on 1.0-b1 too.

There is no reason why dynabeans should not work. Try 
checking for property name case (property in dynabeans are 
not lowercase by default like standard properties defined 
using getters).

With 1.0-b2 (not yet release, you can grab a copy from cvs) 
you can define a table simply by using:
<displaytag:table name="resultSet.rows" />
This will dinamically output columns for any bean property, so 
you can easily identify property names.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=536613&aid=825135&group_id=73068


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
displaytag-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/displaytag-devel

Reply via email to