remm        01/09/13 20:42:58

  Added:       src/contrib/taglib slide-struts.tld users.jsp
  Log:
  - Commit Christopher's taglib prototype in the CVS, so we can have it around for 
reference
    and further comments.
  
  Revision  Changes    Path
  1.1                  jakarta-slide/src/contrib/taglib/slide-struts.tld
  
  Index: slide-struts.tld
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1" ?>
  <!DOCTYPE taglib 
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd";>
  
  <taglib>
    
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>slide-struts</shortname>
    <uri>http://jakarta.apache.org/slide/tags-struts-1.0</uri>
    <info>
      Bla bla
    </info>
    
    <!-- The 'domain' Tag -->
    <tag>
     <name>domain</name>
     <tagclass>org.apache.slide.taglib.tag.struts.DomainTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>id</name>
      <required>false</required>
     </attribute>
    </tag>
    
    <!-- The 'namespace' Tag -->
    <tag>
     <name>namespace</name>
     <tagclass>org.apache.slide.taglib.tag.struts.NamespaceTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>name</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>id</name>
      <required>false</required>
     </attribute>
    </tag>
    
    <!-- The 'node' Tag -->
    <tag>
     <name>node</name>
     <tagclass>org.apache.slide.taglib.tag.struts.NodeTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>uri</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>resolveLinks</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>id</name>
      <required>false</required>
     </attribute>
    </tag>
    
    <!-- The 'revision' Tag -->
    <tag>
     <name>revision</name>
     <tagclass>org.apache.slide.taglib.tag.struts.RevisionTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>number</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>branch</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>id</name>
      <required>false</required>
     </attribute>
    </tag>
    
    <!-- The 'property' Tag -->
    <tag>
     <name>property</name>
     <tagclass>org.apache.slide.taglib.tag.struts.PropertyTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>namespace</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>name</name>
      <required>true</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>id</name>
      <required>false</required>
     </attribute>
    </tag>
    
    <!-- The 'iterateMembers' Tag -->
    <tag>
     <name>iterateMembers</name>
     <tagclass>org.apache.slide.taglib.tag.struts.IterateMembersTag</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
      <name>depth</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>type</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>role</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
      <name>id</name>
      <required>true</required>
     </attribute>
    </tag>
    
  </taglib>
  
  
  
  1.1                  jakarta-slide/src/contrib/taglib/users.jsp
  
  Index: users.jsp
  ===================================================================
  <%@ page language="java" %>
  <%@ taglib uri="/WEB-INF/struts-bean.tld"   prefix="bean" %>
  <%@ taglib uri="/WEB-INF/struts-html.tld"   prefix="html" %>
  <%@ taglib uri="/WEB-INF/struts-logic.tld"  prefix="logic" %>
  <%@ taglib uri="/WEB-INF/slide-struts.tld"  prefix="slide" %>
  
  <html:html locale="true">
    
    <slide:domain>
      <slide:namespace id='namespace'>
        <head>
          <title>[<bean:write name='namespace' property='name'/>] <bean:message 
key="users.title"/></title>
          <link rel='stylesheet' type='text/css' href='style.css'>
          <html:base/>
        </head>
        <body bgcolor='white'>
          <h1>[<bean:write name='namespace' property='name'/>] <bean:message 
key="users.title"/></h1>
            
          <!-- Action Bar -->
          <table border='0' cellspacing='5'>
            <tr>
              <td align='center' width='50%'><html:link forward='addUser'>Add 
User</html:link></td>
              <td align='center' width='50%'><html:link page='/addGroup.jsp'>Add 
Group</html:link></td>
            </tr>
          </table>
          
          <slide:node id='node' uri='/users'>
            
            <!-- Users List -->
            <h2>Users</h2>
            <table border='0' cellspacing='0' cellpadding='0' class='list' width='90%'>
              <tr>
                <th align='left'><bean:message key="users.label.username"/></th>
                <th align='left'><bean:message key="users.label.uri"/></th>
                <th align='left'><bean:message key="users.label.lastmodified"/></th>
                <th align='left'></th>
              </tr>
              <slide:iterateMembers id='member' depth='infinity' role='user'>
                <tr>
                  <slide:node id='user'>
                    <td align='left'>
                      <html:link page='#'><bean:write name='user' 
property='name'/></html:link>
                    </td>
                    <td align='left'>
                      <bean:write name='user' property='uri'/>
                    </td>
                    <logic:equal name='node' property='hasRevisions' value='true'>
                      <slide:revision id='revision'>
                        <td align='left'>
                          <slide:property id='prop' namespace='DAV:' 
name='getlastmodified'>
                            <bean:write name='prop' property='value'/>
                          </slide:property>
                        </td>
                      </slide:revision>
                    </logic:equal>
                    <logic:notEqual name='node' property='hasRevisions' value='true'>
                      <td>&nbsp;</td>
                    </logic:notEqual>
                    <td align='center' width='1%'>
                      <html:link forward='removeUser' paramId='uri' paramName='user' 
paramProperty='uri'><bean:message key='button.remove'/></html:link>
                    </td>
                  </slide:node>
                </tr>
              </slide:iterateMembers>
            </table>
            
            <!-- Groups List -->
            <h2>Groups</h2>
            <table border='0' cellspacing='0' cellpadding='0' class='list' width='90%'>
              <tr>
                <th align='left'><bean:message key="users.label.username"/></th>
                <th align='left'><bean:message key="users.label.uri"/></th>
                <th align='left'><bean:message key="users.label.lastmodified"/></th>
                <th align='left'></th>
              </tr>
              <slide:iterateMembers id='member' depth='infinity' type='group'>
                <tr>
                  <slide:node id='user'>
                    <td align='left'>
                      <html:link page='#'><bean:write name='user' 
property='name'/></html:link>
                    </td>
                    <td align='left'>
                      <bean:write name='user' property='uri'/>
                    </td>
                    <logic:equal name='node' property='hasRevisions' value='true'>
                      <slide:revision id='revision'>
                        <td align='left'>
                          <slide:property id='prop' namespace='DAV:' 
name='getlastmodified'>
                            <bean:write name='prop' property='value'/>
                          </slide:property>
                        </td>
                      </slide:revision>
                    </logic:equal>
                    <logic:notEqual name='node' property='hasRevisions' value='true'>
                      <td>&nbsp;</td>
                    </logic:notEqual>
                    <td align='center' width='1%'>
                      <html:link forward='removeUser' paramId='uri' paramName='user' 
paramProperty='uri'><bean:message key='button.remove'/></html:link>
                    </td>
                  </slide:node>
                </tr>
              </slide:iterateMembers>
            </table>
            
          </slide:node>
        <body>
      </slide:namespace>
    </slide:domain>
    
  </html:html>
  
  
  

Reply via email to