From: <ava...@us...> - 2006-10-05 14:42:15
|
Revision: 143 http://svn.sourceforge.net/salto-framework/?rev=143&view=rev Author: avandekerkhove Date: 2006-10-05 07:41:46 -0700 (Thu, 05 Oct 2006) Log Message: ----------- FWK-74 Adding attributes to salto:paginator : firstMessage, previousMessage, lastMessage, nextMessage Those labels can be internationalized or not if the bundle hasn't been specified. statusKey attribute renamed to statusMessage and not required Modified Paths: -------------- salto-framework/trunk/src-examples/salto/i18n/Message.properties salto-framework/trunk/src-examples/salto/i18n/Message_en.properties salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java salto-framework/trunk/webapp/fwk/config/salto.tld salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp Modified: salto-framework/trunk/src-examples/salto/i18n/Message.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message.properties 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/src-examples/salto/i18n/Message.properties 2006-10-05 14:41:46 UTC (rev 143) @@ -883,6 +883,10 @@ #Pagination +fwk.pagination.first = First +fwk.pagination.previous = Previous +fwk.pagination.next = Next +fwk.pagination.last = Last fwk.pagination.status = Elements {1} to {2} on {0} fwk.pagination.status.example2 = Here are the elements {1} to {2} on a total of {0} pagination.presentation = Pagination can be applied on the <i>datatable</i> component. \ Modified: salto-framework/trunk/src-examples/salto/i18n/Message_en.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message_en.properties 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/src-examples/salto/i18n/Message_en.properties 2006-10-05 14:41:46 UTC (rev 143) @@ -880,6 +880,10 @@ #Pagination +fwk.pagination.first = First +fwk.pagination.previous = Previous +fwk.pagination.next = Next +fwk.pagination.last = Last fwk.pagination.status = Elements {1} to {2} on {0} fwk.pagination.status.example2 = Here are the elements {1} to {2} on a total of {0} pagination.presentation = Pagination can be applied on the <i>datatable</i> component. \ Modified: salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties 2006-10-05 14:41:46 UTC (rev 143) @@ -914,6 +914,10 @@ #Pagination +fwk.pagination.first = Premier +fwk.pagination.previous = Précédent +fwk.pagination.next = Suivant +fwk.pagination.last = Dernier fwk.pagination.status = Eléments {1} à {2} sur {0} fwk.pagination.status.example2 = Voici les éléments {1} à {2} sur un total de {0} pagination.presentation = La pagination peut s'appliquer sur le composant <i>datatable</i> du framework. \ Modified: salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java =================================================================== --- salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java 2006-10-05 14:41:46 UTC (rev 143) @@ -19,9 +19,11 @@ private String id; private String dataAttributeId; private String[] urls; - private String bundle; - private String statusKey; - private String[] messageParameters; + private String statusMessage; + private String firstMessage; + private String previousMessage; + private String nextMessage; + private String lastMessage; private String imageFolder; /** @@ -33,35 +35,26 @@ * @param parameters * @param urls */ - public PaginatorInfo(String id, String dataAttributeId, String imageFolder, String bundle, String key, String[] parameters, String[] urls) { + public PaginatorInfo(String id, String dataAttributeId, String imageFolder, String statusMessage, + String firstMessage, String previousMessage, String nextMessage, String lastMessage, + String[] urls) { super(); this.id = id; this.dataAttributeId = dataAttributeId; this.imageFolder = imageFolder; - this.bundle = bundle; - this.statusKey = key; - this.messageParameters = parameters; + this.statusMessage = statusMessage; + this.firstMessage = firstMessage; + this.previousMessage = previousMessage; + this.nextMessage = nextMessage; + this.lastMessage = lastMessage; this.urls = urls; } - /** - * @return Returns the bundle. - */ - public String getBundle() { - return bundle; - } + /** - * @param bundle The bundle to set. - */ - public void setBundle(String bundle) { - this.bundle = bundle; - } - - - /** * @return Returns the id. */ public String getId() { @@ -94,37 +87,52 @@ /** - * @return Returns the messageParameters. + * @return Returns the statusMessage. */ - public String[] getMessageParameters() { - return messageParameters; + public String getStatusMessage() { + return statusMessage; } /** - * @param messageParameters The messageParameters to set. + * @param statusMessage The statusMessage to set. */ - public void setMessageParameters(String[] messageParameters) { - this.messageParameters = messageParameters; + public void setStatusMessage(String statusMessage) { + this.statusMessage = statusMessage; } + public String getFirstMessage() { + return firstMessage; + } - /** - * @return Returns the statusKey. - */ - public String getStatusKey() { - return statusKey; + public void setFirstMessage(String firstMessage) { + this.firstMessage = firstMessage; } + + public String getLastMessage() { + return lastMessage; + } + public void setLastMessage(String lastMessage) { + this.lastMessage = lastMessage; + } - /** - * @param statusKey The statusKey to set. - */ - public void setStatusKey(String statusKey) { - this.statusKey = statusKey; + public String getNextMessage() { + return nextMessage; } + public void setNextMessage(String nextMessage) { + this.nextMessage = nextMessage; + } + public String getPreviousMessage() { + return previousMessage; + } + + public void setPreviousMessage(String previousMessage) { + this.previousMessage = previousMessage; + } + /** * @return Returns the dataAttributeId. */ @@ -155,4 +163,6 @@ public void setUrls(String[] urls) { this.urls = urls; } + + } Modified: salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java =================================================================== --- salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java 2006-10-05 14:41:46 UTC (rev 143) @@ -16,12 +16,15 @@ import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; +import org.apache.struts.Globals; + import salto.fwk.mvc.Constants; import salto.fwk.mvc.ajax.model.datatable.PaginatorHelper; import salto.fwk.mvc.ajax.model.datatable.RequestPagination; import salto.fwk.mvc.ajax.model.datatable.TableConstants; import salto.fwk.mvc.ajax.util.AjaxUtil; import salto.fwk.mvc.taglib.common.TagUtils; +import salto.fwk.mvc.taglib.helper.MessageHelper; /** @@ -42,10 +45,22 @@ public static final String PAGINATOR_INFO_ATTRIBUTE = "__fwk__PAGINATOR_INFO_ATTRIBUTE"; private static final String DEFAULT_JSP_MODEL = Constants.FWK_JSP_PATH+"/common/pagination/paginator.jsp"; + /** + * default alt messages on img + */ + private static final String DEFAULT_FIRST_MESSAGE = "first"; + private static final String DEFAULT_PREVIOUS_MESSAGE = "previous"; + private static final String DEFAULT_NEXT_MESSAGE = "next"; + private static final String DEFAULT_LAST_MESSAGE = "last"; + private String action; private String dataAttributeId; - private String bundle = "org.apache.struts.action.MESSAGE"; - private String statusKey = "fwk.pagination.status"; + private String bundle; + private String statusMessage; + private String firstMessage = DEFAULT_FIRST_MESSAGE; + private String previousMessage = DEFAULT_PREVIOUS_MESSAGE; + private String nextMessage = DEFAULT_NEXT_MESSAGE; + private String lastMessage = DEFAULT_LAST_MESSAGE; private String imageFolder = "fwk/image/paginator"; private Map parameterMap = new HashMap(5); /** @@ -130,7 +145,27 @@ parameters[1] = Integer.toString(limit.getRowStart()); } - PaginatorInfo info = new PaginatorInfo(getId(), dataAttributeId, request.getContextPath()+"/"+imageFolder, bundle, statusKey, parameters, urls); + if (bundle != null && !"".equals(bundle)) { + if ("default".equalsIgnoreCase(bundle)) { + bundle = "org.apache.struts.action.MESSAGE"; + } + if (statusMessage != null) + statusMessage = MessageHelper.getMessage(pageContext, bundle, Globals.LOCALE_KEY, statusMessage, parameters); + firstMessage = MessageHelper.getMessage(pageContext, bundle, Globals.LOCALE_KEY, firstMessage); + previousMessage = MessageHelper.getMessage(pageContext, bundle, Globals.LOCALE_KEY, previousMessage); + nextMessage = MessageHelper.getMessage(pageContext, bundle, Globals.LOCALE_KEY, nextMessage); + lastMessage = MessageHelper.getMessage(pageContext, bundle, Globals.LOCALE_KEY, lastMessage); + } + else if (statusMessage != null) + { + statusMessage = statusMessage.replaceAll("\\{totalLines}", parameters[0]) + .replaceAll("\\{lineFrom}", parameters[1]) + .replaceAll("\\{lineTo}", parameters[2]); + + } + + PaginatorInfo info = new PaginatorInfo(getId(), dataAttributeId, request.getContextPath()+"/"+imageFolder, + statusMessage, firstMessage, previousMessage, nextMessage, lastMessage, urls); request.setAttribute(PAGINATOR_INFO_ATTRIBUTE, info); String code = AjaxUtil.getJspCode(request,(HttpServletResponse)pageContext.getResponse(), DEFAULT_JSP_MODEL); pageContext.getOut().write(code); @@ -155,8 +190,12 @@ private void cleanup() { this.action = null; this.dataAttributeId = null; - this.bundle = "org.apache.struts.action.MESSAGE"; - this.statusKey = "fwk.pagination.status"; + this.bundle = null; + this.statusMessage = null; + this.firstMessage = DEFAULT_FIRST_MESSAGE; + this.previousMessage = DEFAULT_PREVIOUS_MESSAGE; + this.nextMessage = DEFAULT_NEXT_MESSAGE; + this.lastMessage = DEFAULT_LAST_MESSAGE; this.imageFolder = "fwk/image/paginator"; this.parameterMap.clear(); } @@ -252,18 +291,12 @@ this.parameterMap = parameterMap; } - /** - * @return Returns the statusKey. - */ - public String getStatusKey() { - return statusKey; + public String getStatusMessage() { + return statusMessage; } - /** - * @param statusKey The statusKey to set. - */ - public void setStatusKey(String statusKey) { - this.statusKey = statusKey; + public void setStatusMessage(String statusMessage) { + this.statusMessage = statusMessage; } /** @@ -280,6 +313,39 @@ this.dataAttributeId = dataAttributeId; } + + public String getFirstMessage() { + return firstMessage; + } + + public void setFirstMessage(String firstMessage) { + this.firstMessage = firstMessage; + } + + public String getLastMessage() { + return lastMessage; + } + + public void setLastMessage(String lastMessage) { + this.lastMessage = lastMessage; + } + + public String getNextMessage() { + return nextMessage; + } + + public void setNextMessage(String nextMessage) { + this.nextMessage = nextMessage; + } + + public String getPreviousMessage() { + return previousMessage; + } + + public void setPreviousMessage(String previousMessage) { + this.previousMessage = previousMessage; + } + /** * @deprecated */ Modified: salto-framework/trunk/webapp/fwk/config/salto.tld =================================================================== --- salto-framework/trunk/webapp/fwk/config/salto.tld 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/webapp/fwk/config/salto.tld 2006-10-05 14:41:46 UTC (rev 143) @@ -1241,12 +1241,36 @@ <description>Message bundle</description> </attribute> <attribute> - <name>statusKey</name> + <name>statusMessage</name> <required>false</required> <rtexprvalue>true</rtexprvalue> - <description>Key of the status message</description> + <description>Label (or key, if bundle is specified) of the status message</description> </attribute> <attribute> + <name>firstMessage</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <description>Label (or key, if bundle is specified) of the message associated to "alt" attribute of the image</description> + </attribute> + <attribute> + <name>previousMessage</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <description>Label (or key, if bundle is specified) of the message associated to "alt" attribute of the image</description> + </attribute> + <attribute> + <name>nextMessage</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <description>Label (or key, if bundle is specified) of the message associated to "alt" attribute of the image</description> + </attribute> + <attribute> + <name>lastMessage</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <description>Label (or key, if bundle is specified) of the message associated to "alt" attribute of the image</description> + </attribute> + <attribute> <name>imageFolder</name> <required>false</required> <rtexprvalue>true</rtexprvalue> Modified: salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp =================================================================== --- salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp 2006-10-05 14:41:46 UTC (rev 143) @@ -4,18 +4,17 @@ <% PaginatorInfo paginatorInfo = (PaginatorInfo) request.getAttribute(PaginatorTag.PAGINATOR_INFO_ATTRIBUTE); String[] urls = paginatorInfo.getUrls(); -String bundle = paginatorInfo.getBundle(); -String statusKey = paginatorInfo.getStatusKey(); -String[] messageParameters = paginatorInfo.getMessageParameters(); +String statusMessage = paginatorInfo.getStatusMessage(); +String firstMessage = paginatorInfo.getFirstMessage(); +String previousMessage = paginatorInfo.getPreviousMessage(); +String nextMessage = paginatorInfo.getNextMessage(); +String lastMessage = paginatorInfo.getLastMessage(); String imageFolder= paginatorInfo.getImageFolder(); String firstPageUrl = urls[0]; String previousPageUrl = urls[1]; String nextPageUrl = urls[2]; String lastPageUrl = urls[3]; -if ((bundle == null) || "".equals(bundle) ) -{ - bundle = "org.apache.struts.action.MESSAGE"; -} + %> <table id="<%=paginatorInfo.getId()%>" class="datalight"> <tbody> @@ -24,30 +23,30 @@ if (firstPageUrl != null) { %> <td> - <a onclick="AjaxCall('<%=firstPageUrl%>');return false;" title='<bean:message bundle="<%=bundle%>" key="first" />'> - <img style="cursor:hand;" alt='<bean:message bundle="<%=bundle%>" key="first" />' src="<%=imageFolder%>/first.gif" /> + <a onclick="AjaxCall('<%=firstPageUrl%>');return false;" title="<%= firstMessage %>"> + <img style="cursor:hand;" alt="<%= firstMessage %>" src="<%=imageFolder%>/first.gif" /> </a> </td> <% } else { %> <td> - <img alt='<bean:message bundle="<%=bundle%>" key="first" />' src="<%=imageFolder%>/firstDisabled.gif" /> + <img alt="<%= firstMessage %>" src="<%=imageFolder%>/firstDisabled.gif" /> </td> <% } if (previousPageUrl !=null) { %> <td> - <a onclick="AjaxCall('<%=previousPageUrl%>');return false;" title='<bean:message bundle="<%=bundle%>" key="previous" />'> - <img style="cursor:hand;" alt='<bean:message bundle="<%=bundle%>" key="previous" />' src="<%=imageFolder%>/previous.gif" /> + <a onclick="AjaxCall('<%=previousPageUrl%>');return false;" title="<%= previousMessage %>"> + <img style="cursor:hand;" alt="<%= previousMessage %>" src="<%=imageFolder%>/previous.gif" /> </a> </td> <% } else { %> <td> - <img alt='<bean:message bundle="<%=bundle%>" key="previous" />' src="<%=imageFolder%>/previousDisabled.gif" /> + <img alt="<%= previousMessage %>" src="<%=imageFolder%>/previousDisabled.gif" /> </td> <% } @@ -56,15 +55,15 @@ if (nextPageUrl != null) { %> <td> - <a onclick="AjaxCall('<%=nextPageUrl%>');return false;" title='<bean:message bundle="<%=bundle%>" key="next" />'> - <img style="cursor:hand;" alt='<bean:message bundle="<%=bundle%>" key="next" />' src="<%=imageFolder%>/next.gif" /> + <a onclick="AjaxCall('<%=nextPageUrl%>');return false;" title="<%= nextMessage %>"> + <img style="cursor:hand;" alt="<%= nextMessage %>" src="<%=imageFolder%>/next.gif" /> </a> </td> <% } else { %> <td> - <img alt='<bean:message bundle="<%=bundle%>" key="next" />' src="<%=imageFolder%>/nextDisabled.gif" /> + <img alt="<%= nextMessage %>" src="<%=imageFolder%>/nextDisabled.gif" /> </td> <% } @@ -73,23 +72,25 @@ if (lastPageUrl != null) { %> <td> - <a onclick="AjaxCall('<%=lastPageUrl%>');return false;" title='<bean:message bundle="<%=bundle%>" key="last" />'> - <img style="cursor:hand;" alt='<bean:message bundle="<%=bundle%>" key="last" />' src="<%=imageFolder%>/last.gif" /> + <a onclick="AjaxCall('<%=lastPageUrl%>');return false;" title="<%= lastMessage %>"> + <img style="cursor:hand;" alt="<%= lastMessage %>" src="<%=imageFolder%>/last.gif" /> </a> </td> <% } else { %> <td> - <img alt='<bean:message bundle="<%=bundle%>" key="last" />' src="<%=imageFolder%>/lastDisabled.gif" /> + <img alt="<%= lastMessage %>" src="<%=imageFolder%>/lastDisabled.gif" /> </td> <% } %> + + <% if (statusMessage != null){ %> <td> - <bean:message bundle="<%=bundle%>" key="<%=statusKey%>" - arg0="<%=messageParameters[0]%>" arg1="<%=messageParameters[1]%>" arg2="<%=messageParameters[2]%>"/> + <%= statusMessage %> </td> + <% } %> </tr> </tbody> </table> \ No newline at end of file Modified: salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp =================================================================== --- salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp 2006-10-05 14:41:46 UTC (rev 143) @@ -31,7 +31,10 @@ <br> + <salto:paginator action="docfwkv3/getNextPageExample2.do" id="paginatorId2" dataAttributeId="example2Customers" imageFolder="fwk/image/paginatorExample2" - statusKey="fwk.pagination.status.example2"> -</salto:paginator> + statusMessage="fwk.pagination.status.example2" bundle="default" + firstMessage="fwk.pagination.first" previousMessage="fwk.pagination.previous" + nextMessage="fwk.pagination.next" lastMessage="fwk.pagination.last"> +</salto:paginator> \ No newline at end of file Modified: salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp =================================================================== --- salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp 2006-10-05 10:08:23 UTC (rev 142) +++ salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp 2006-10-05 14:41:46 UTC (rev 143) @@ -1,5 +1,6 @@ <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/salto.tld" prefix="salto" %> <salto:paginator action="docfwkv3/getNextPage.do" id="paginatorId" dataAttributeId="test" - bundle="org.apache.struts.action.MESSAGE"> + statusMessage="Total : {totalLines} , displaying from {lineFrom} to {lineTo}" + firstMessage="premier" nextMessage="suivant" previousMessage="pr\xE9c\xE9dent" lastMessage="dernier"> </salto:paginator> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |