Neill's profileLaney ConsultingBlogLists Tools Help

Blog


    April 19

    Alternating row colors using STRUTS 2

    <s:iterator value="results" status="status">
        <s:if test="#status.odd">
            <tr bgcolor="#F8ECE0">
        </s:if>
        <s:else>
            <tr>
        </s:else>

    February 21

    Struts2 nested checkbox tag inside iterator

    Using the s:iterator tag and status attribute it's possible to display and update values of complex types within a collection.

    For example, using an iterator tag,

    <s:iterator value="results" status="status">

    <s:hidden value="%{product.sku}" name="results[%{#status.index}].product.sku" />

    <input type="checkbox" name="results[<s:property value="%{#status.index}" />].selected" <s:property value="%{selected}" />>

    </s:iterator>

    within a form tag, the submit action will update the list of results in the Action class, where my action class has

    protected List<ProductBean> results;

    with getters and setters, and my ProductBean has,

    private Product product;

    with getters and setters, and

    private boolean selected;

    /**
    * @return the selected
    */
    public String isSelected() {
        return selected ? "checked" : "";
    }

    /**
    * @param selected the selected to set
    */
    public void setSelected(String selected) {
        this.selected = selected == null || selected.equals("") ? false : true;
    }

    NOTE: if you find something useful, please leave a comment, thanks!

    July 23

    Implement connection pooling in Tomcat 5.5 using Hibernate 3, MySQL 5

    Culled from various sources:

    Add JDBC driver, mysql-connector-java-5.1.5.jar to apache-tomcat-5.5.xx\common\lib

    Add resource-ref to WEB-INF/web.xml

    =================================================================

    <web-app ...>

    ...

    <resource-ref>
        <description>
            Resource reference to a factory for java.sql.Connection
            instances that may be used for talking to a particular
            database that is configured in the server.xml file.
        </description>
        <res-ref-name>jdbc/MySqlDb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

    </web-app>

    ================================================================

    Add session-factory name attribute and property elements to WEB-INF/classes/hibernate.cfg.xml

    =================================================================

    <hibernate-configuration>
        <session-factory name="java:hibernate/SessionFactory">

            <!-- JNDI Connection -->
            <property name="hibernate.connection.datasource">
                java:comp/env/jdbc/MySqlDS
            </property>

            <property name="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </property>

    ...

        </session-factory>
    </hibernate-configuration>

    ==================================================================

    Add Resource to META-INF/context.xml, alternatively add Resource to GlobalResources in tomcat server.xml

    ==================================================================

    <?xml version="1.0" encoding="UTF-8"?>

    <Context path="/MyApp" reloadable="true">

      <Resource name="jdbc/MySqlDS" auth="Container"
        type="javax.sql.DataSource"
        maxActive="100" maxIdle="10" maxWait="10000"
        username="myUsername" password="myPassword"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/bookstore?autoReconnect=true"/>

    </Context>

    ==================================================================

    That should work!

    June 16

    Unit test JPA Entities with in-memory database « Eskatos’s thoughts on JEE development

    I've been looking for a way to JUnit test my applications using Hibernate which require a  database connection. This looks promising!

    Unit test JPA Entities with in-memory database « Eskatos’s thoughts on JEE development

    June 06

    Struts2 checkboxlist UI tag rendering one item per line

    After struggling with this UI tag for a some time today, I gave up and was attempting to use s:checkbox inside of an s:iterator to render one item per line, unsuccessfully.

    So, upon revisiting s:checkboxlist, I found that it's a relatively painless thing to override the checkboxlist.ftl file described here, http://struts.apache.org/2.0.9/docs/template-loading.html, add a break at the end of this line

    <label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label><br />
    and save the file in the webapp/template/simple dir of my web application.

    Hello, all!

    I've maintained a blog for several years on my own server, and decided it was time to move to a lower maintenance solution. Spaces looked like a good choice, so here goes!
     
    Most of my posts will be technically oriented, simply because there's never enough good information when looking for a solution to a tough problem. Blogging serves as documentation for myself, as much as it does for anyone else trying to solve the same or similar problems.
     
    I have experience using Java, CSS, HTML, JavaScript, Struts 2, Maven 2, Hibernate 3 and other Open Source and Internet technologies. Please feel free to contact me with any questions or comments.