Author: d.bulahov
Date: 2007-05-02 10:37:26 -0400 (Wed, 02 May 2007)
New Revision: 608
Modified:
trunk/richfaces/datascroller/src/main/config/component/datascroller.xml
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
trunk/richfaces/datascroller/src/main/templates/org/richfaces/htmlDatascroller.jspx
Log:
http://jira.jboss.com/jira/browse/RF-117 fixed
Modified: trunk/richfaces/datascroller/src/main/config/component/datascroller.xml
===================================================================
--- trunk/richfaces/datascroller/src/main/config/component/datascroller.xml 2007-05-02
13:42:43 UTC (rev 607)
+++ trunk/richfaces/datascroller/src/main/config/component/datascroller.xml 2007-05-02
14:37:26 UTC (rev 608)
@@ -227,6 +227,27 @@
<description>
</description>
</property>
+ <property>
+ <name>boundaryControls</name>
+ <classname>java.lang.String</classname>
+ <description>
+ </description>
+ <defaultvalue><![CDATA["show"]]></defaultvalue>
+ </property>
+ <property>
+ <name>fastControls</name>
+ <classname>java.lang.String</classname>
+ <description>
+ </description>
+ <defaultvalue><![CDATA["show"]]></defaultvalue>
+ </property>
+ <property>
+ <name>stepControls</name>
+ <classname>java.lang.String</classname>
+ <description>
+ </description>
+ <defaultvalue><![CDATA["show"]]></defaultvalue>
+ </property>
</component>
&listeners;
</components>
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
---
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-05-02
13:42:43 UTC (rev 607)
+++
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-05-02
14:37:26 UTC (rev 608)
@@ -61,6 +61,37 @@
public static final String FAST_REWIND_FACET_NAME = "fastrewind";
+
+ public static final String FIRST_DISABLED_FACET_NAME = "first_disabled";
+
+ public static final String LAST_DISABLED_FACET_NAME = "last_disabled";
+
+ public static final String NEXT_DISABLED_FACET_NAME = "next_disabled";
+
+ public static final String PREVIOUS_DISABLED_FACET_NAME =
"previous_disabled";
+
+ public static final String FAST_FORWARD_DISABLED_FACET_NAME =
"fastforward_disabled";
+
+ public static final String FAST_REWIND_DISABLED_FACET_NAME =
"fastrewind_disabled";
+
+ public boolean first_rendered = true;
+ public boolean first_enabled = true;
+
+ public boolean last_rendered = true;
+ public boolean last_enabled = true;
+
+ public boolean next_rendered = true;
+ public boolean next_enabled = true;
+
+ public boolean previous_rendered = true;
+ public boolean previous_enabled = true;
+
+ public boolean fast_forward_rendered = true;
+ public boolean fast_forward_enabled = true;
+
+ public boolean fast_rewind_rendered = true;
+ public boolean fast_rewind_enabled = true;
+
public void addScrollerListener(DataScrollerListener listener) {
addFacesListener(listener);
}
@@ -149,7 +180,16 @@
public abstract String getAlign();
public abstract void setAlign(String align);
+
+ public abstract String getBoundaryControls();
+ public abstract void setBoundaryControls(String boundaryControls);
+ public abstract String getFastControls();
+ public abstract void setFastControls(String fastControls);
+
+ public abstract String getStepControls();
+ public abstract void setStepControls(String stepControls);
+
/**
* Finds the dataTable which id is mapped to the "for" property
*
@@ -225,14 +265,15 @@
// check if facet is selected
if (FIRST_FACET_NAME.equals(facetName)) {
+ setFirstRow(0);
dataTable.setFirst(0);
} else if (PREVIOUS_FACET_NAME.equals(facetName)) {
int previous = dataTable.getFirst() - getRows(dataTable);
- if (previous >= 0) dataTable.setFirst(previous);
+ if (previous >= 0) setFirstRow(previous);
} else if (NEXT_FACET_NAME.equals(facetName)) {
int rows = getRows(dataTable);
int next = dataTable.getFirst() + rows;
- if (next < getRowCount(dataTable)) dataTable.setFirst(next);
+ if (next < getRowCount(dataTable)) setFirstRow(next);
//if (rows>0){
// if (((next+rows)/rows)>getMaxPages()){
// next=getMaxPages()*rows-rows;;
@@ -251,13 +292,13 @@
// next=getMaxPages()*rows-rows;;
//}
//}
- dataTable.setFirst(next);
+ setFirstRow(next);
} else if (FAST_REWIND_FACET_NAME.equals(facetName)) {
int fastStep = getFastStep();
if (fastStep <= 0) fastStep = 1;
int previous = dataTable.getFirst() - getRows(dataTable) * fastStep;
if (previous < 0) previous = 0;
- dataTable.setFirst(previous);
+ setFirstRow(previous);
} else if (LAST_FACET_NAME.equals(facetName)) {
int rowcount = getRowCount(dataTable);
int rows = getRows(dataTable);
@@ -270,9 +311,9 @@
// first=getMaxPages()*rows-rows;
//}
//}
- dataTable.setFirst(first);
+ setFirstRow(first);
} else {
- dataTable.setFirst(0);
+ setFirstRow(0);
}
}
// the paginator is selected
@@ -284,7 +325,7 @@
} else if (pageindex <= 0) {
pageindex = 1;
}
- dataTable.setFirst(getRows(dataTable) * (pageindex - 1));
+ setFirstRow(getRows(dataTable) * (pageindex - 1));
}
}
@@ -302,7 +343,7 @@
+ uiData.getId() + "'");
}
if (page > 0) {
- uiData.setFirst(page * rows);
+ setFirstRow(page * rows);
}
}
@@ -406,9 +447,142 @@
public int getFirstRow() {
return getFirstRow(getDataTable());
}
+ public void setControls(){
+
+ int rowCount=getRowCount();
+
+ if (getBoundaryControls().equals("auto")){
+
+
+ if (getFirstRow()==0){
+ first_rendered = false;
+ first_enabled = false;
+ }else{
+ first_enabled = true;
+ first_rendered = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ last_enabled = false;
+ last_rendered = false;
+ }
+ else{
+ last_enabled = true;
+ last_rendered = true;
+ }
+
+ }
+ else if (getBoundaryControls().equals("hide")){
+ first_rendered = false;
+ first_enabled = false;
+ last_rendered = false;
+ last_enabled = false;
+
+ }
+ else if (getBoundaryControls().equals("show")){
+ first_rendered = true;
+ last_rendered = true;
+ if (getFirstRow()==0){
+ first_enabled = false;
+ }else{
+ first_enabled = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ last_enabled = false;
+ }
+ else{
+ last_enabled = true;
+ }
+ }
- public void setFirstRow(int rows) {
+ if (getFastControls().equals("auto")){
+ if (getFirstRow()==0){
+ fast_rewind_rendered = false;
+ fast_rewind_enabled = false;
+ }else{
+ fast_rewind_rendered = true;
+ fast_rewind_enabled = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ fast_forward_rendered = false;
+ fast_forward_enabled = false;
+ }
+ else{
+ fast_forward_rendered = true;
+ fast_forward_enabled = true;
+ }
+
+ }
+ else if (getFastControls().equals("hide")){
+ fast_forward_rendered = false;
+ fast_forward_enabled = false;
+ fast_rewind_rendered = false;
+ fast_rewind_enabled = false;
+
+ }
+ else if (getFastControls().equals("show")){
+ fast_rewind_rendered = true;
+ fast_forward_rendered = true;
+ if (getFirstRow()==0){
+ fast_rewind_enabled = false;
+ }else{
+ fast_rewind_enabled = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ fast_forward_enabled = false;
+ }
+ else{
+ fast_forward_enabled = true;
+ }
+
+
+ }
+
+ if (getStepControls().equals("auto")){
+ if (getFirstRow()==0){
+ previous_enabled = false;
+ previous_rendered = false;
+
+ }else{
+ previous_enabled = true;
+ previous_rendered = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ next_enabled = false;
+ next_rendered = false;
+ }
+ else{
+ next_enabled = true;
+ next_rendered = true;
+ }
+ }
+ else if (getStepControls().equals("hide")){
+ next_rendered = false;
+ next_enabled = false;
+ previous_rendered = false;
+ previous_enabled = false;
+
+ }
+ else if (getStepControls().equals("show")){
+ next_rendered = true;
+ previous_rendered = true;
+ if (getFirstRow()==0){
+ previous_enabled = false;
+ }else{
+ previous_enabled = true;
+ }
+ if ((rowCount - 1)<=(getFirstRow()+getRows())){
+ next_enabled = false;
+ }
+ else{
+ next_enabled = true;
+ }
+ }
+ }
+
+
+ public void setFirstRow(int rows) {
getDataTable().setFirst(rows);
+ //setControls();
}
public String getFamily() {
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
===================================================================
---
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-05-02
13:42:43 UTC (rev 607)
+++
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-05-02
14:37:26 UTC (rev 608)
@@ -53,7 +53,7 @@
ComponentVariables variables = ComponentsVariableResolver.getVariables(this,
component);
variables.setVariable("dataTable", dataTable);
-
+ scroller.setControls();
if (!(scroller.getPageCount(dataTable) == 1) ||
(scroller.isRenderIfSinglePage()))
{
variables.setVariable("rendered", Boolean.TRUE);
Modified:
trunk/richfaces/datascroller/src/main/templates/org/richfaces/htmlDatascroller.jspx
===================================================================
---
trunk/richfaces/datascroller/src/main/templates/org/richfaces/htmlDatascroller.jspx 2007-05-02
13:42:43 UTC (rev 607)
+++
trunk/richfaces/datascroller/src/main/templates/org/richfaces/htmlDatascroller.jspx 2007-05-02
14:37:26 UTC (rev 608)
@@ -26,118 +26,249 @@
style="#{component.attributes['style']};">
<table id="#{clientId}_table"
align="#{component.attributes['align']}" border="0"
cellpadding="0" cellspacing="1" class="dr-dscr-t
rich-dtascroller-table #{component.attributes['tableStyleClass']}">
<tbody>
- <tr>
+ <tr>
<jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.FIRST_FACET_NAME));
- if(component.getFacet(component.FIRST_FACET_NAME)!=null ) {
+ String facet;
+ if (component.first_rendered){
+ if (component.first_enabled){
+ variables.setVariable("color", "");
+ variables.setVariable("onclick",
getOnClick(context,component,component.FIRST_FACET_NAME));
+ variables.setVariable("facet", component.FIRST_FACET_NAME);
+ facet=component.FIRST_FACET_NAME;
+ }else{
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("onclick", "");
+ variables.setVariable("facet",
component.FIRST_DISABLED_FACET_NAME);
+ facet=component.FIRST_DISABLED_FACET_NAME;
+ };
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="first"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.FIRST_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="first"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="first_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
<jsp:scriptlet><![CDATA[
writer.write("««");
]]></jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}
+ }
]]></jsp:scriptlet>
-
- <jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.FAST_REWIND_FACET_NAME));
- if(component.getFacet(component.FAST_REWIND_FACET_NAME)!=null ) {
+ <jsp:scriptlet><![CDATA[
+ if (component.fast_rewind_rendered){
+ if (component.fast_rewind_enabled){
+ variables.setVariable("color", "");
+ variables.setVariable("onclick",
getOnClick(context,component,component.FAST_REWIND_FACET_NAME));
+ variables.setVariable("facet",
component.FAST_REWIND_FACET_NAME);
+ facet=component.FAST_REWIND_FACET_NAME;
+ }else{
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("onclick", "");
+ variables.setVariable("facet",
component.FAST_REWIND_DISABLED_FACET_NAME);
+ facet=component.FAST_REWIND_DISABLED_FACET_NAME;
+ }
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="fastrewind"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.FAST_REWIND_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="fastrewind"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="fastrewind_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
<jsp:scriptlet><![CDATA[
writer.write("«");
]]></jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
- }
+ }
+ }
]]></jsp:scriptlet>
-
- <jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.PREVIOUS_FACET_NAME));
- if(component.getFacet(component.PREVIOUS_FACET_NAME)!=null ) {
+
+ <jsp:scriptlet><![CDATA[
+ if (component.previous_rendered){
+ if (component.previous_enabled){
+ variables.setVariable("color", "");
+ variables.setVariable("onclick",
getOnClick(context,component,component.PREVIOUS_FACET_NAME));
+ variables.setVariable("facet",
component.PREVIOUS_FACET_NAME);
+ facet=component.PREVIOUS_FACET_NAME;
+ }else{
+ variables.setVariable("onclick", "");
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("facet",
component.PREVIOUS_DISABLED_FACET_NAME);
+ facet=component.PREVIOUS_DISABLED_FACET_NAME;
+ }
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="previous"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.PREVIOUS_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="previous"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="previous_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
-
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
</td>
<jsp:scriptlet><![CDATA[
}
+ }
]]></jsp:scriptlet>
- <f:call name="renderPager"/>
+ <f:call name="renderPager"/>
-
<jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.NEXT_FACET_NAME));
- if(component.getFacet(component.NEXT_FACET_NAME)!=null ) {
+ if (component.next_rendered){
+ if (component.next_enabled){
+ variables.setVariable("onclick",
getOnClick(context,component,component.NEXT_FACET_NAME));
+ variables.setVariable("color", "");
+ variables.setVariable("facet", component.NEXT_FACET_NAME);
+ facet=component.NEXT_FACET_NAME;
+ }else{
+ variables.setVariable("onclick", "");
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("facet",
component.NEXT_DISABLED_FACET_NAME);
+ facet=component.NEXT_DISABLED_FACET_NAME;
+ }
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="next"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.NEXT_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="next"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="next_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
</td>
<jsp:scriptlet><![CDATA[
}
+ }
]]></jsp:scriptlet>
<jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.FAST_FORWARD_FACET_NAME));
- if(component.getFacet(component.FAST_FORWARD_FACET_NAME)!=null ) {
+ if (component.fast_forward_rendered){
+ if (component.fast_forward_enabled){
+ variables.setVariable("onclick",
getOnClick(context,component,component.FAST_FORWARD_FACET_NAME));
+ variables.setVariable("color", "");
+ variables.setVariable("facet",
component.FAST_FORWARD_FACET_NAME);
+ facet=component.FAST_FORWARD_FACET_NAME;
+ }
+ else{
+ variables.setVariable("onclick", "");
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("facet",
component.FAST_FORWARD_DISABLED_FACET_NAME);
+ facet=component.FAST_FORWARD_DISABLED_FACET_NAME;
+ }
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="fastforward"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.FAST_FORWARD_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="fastforward"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="fastforward_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
<jsp:scriptlet><![CDATA[
writer.write("»");
]]></jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
- }
+ }
+ }
]]></jsp:scriptlet>
<jsp:scriptlet><![CDATA[
- variables.setVariable("onclick",
getOnClick(context,component,component.LAST_FACET_NAME));
- if(component.getFacet(component.LAST_FACET_NAME)!=null ) {
+ if (component.last_rendered){
+ if (component.last_enabled){
+ variables.setVariable("onclick",
getOnClick(context,component,component.LAST_FACET_NAME));
+ variables.setVariable("color", "");
+ variables.setVariable("facet", component.LAST_FACET_NAME);
+ facet=component.LAST_FACET_NAME;
+ }else{
+ variables.setVariable("onclick", "");
+ variables.setVariable("color", "color: " +
org.ajax4jsf.framework.skin.SkinFactory.getInstance().getSkin(context).getParameter(context,
"panelBorderColor", "gray")+ ";");
+ variables.setVariable("facet",
component.LAST_DISABLED_FACET_NAME);
+ facet=component.LAST_DISABLED_FACET_NAME;
+ }
+ if(component.getFacet(facet)!=null ) {
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
- <u:insertFacet name="last"/>
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
+ <jsp:scriptlet>
+ <![CDATA[if(component.LAST_FACET_NAME.equals(facet)){]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="last"/>
+ <jsp:scriptlet>
+ <![CDATA[}else{]]>
+ </jsp:scriptlet>
+ <u:insertFacet name="last_disabled"/>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}else{
]]></jsp:scriptlet>
- <td align="center" class="dr-dscr-button
rich-datascr-button" onclick="#{onclick}">
+ <td style="#{color}" align="center"
class="dr-dscr-button rich-datascr-button" onclick="#{onclick}">
<jsp:scriptlet><![CDATA[
writer.write("»»");
]]></jsp:scriptlet>
</td>
<jsp:scriptlet><![CDATA[
}
+ }
]]></jsp:scriptlet>
</tr>
<vcp:body>