You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2009/08/12 15:12:15 UTC
svn commit: r803488 -
/myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml
Author: lofwyr
Date: Wed Aug 12 13:12:15 2009
New Revision: 803488
URL: http://svn.apache.org/viewvc?rev=803488&view=rev
Log:
sample to show problems with interators
Added:
myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml
- copied, changed from r765257, myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.jsp
Copied: myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml (from r765257, myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.jsp)
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml?p2=myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml&p1=myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.jsp&r1=765257&r2=803488&rev=803488&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.jsp (original)
+++ myfaces/tobago/branches/tobago-1.0.x/example/demo/src/main/webapp/best-practice/for-each.xhtml Wed Aug 12 13:12:15 2009
@@ -1,4 +1,4 @@
-<%--
+<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -13,67 +13,32 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
---%>
+-->
-<%@ page import="org.apache.myfaces.tobago.example.demo.bestpractice.BestPracticeController" %>
-<%@ page import="org.apache.myfaces.tobago.util.VariableResolverUtil" %>
-<%@ page import="javax.faces.context.FacesContext" %>
-<%@ page import="javax.servlet.jsp.jstl.core.LoopTagStatus" %>
-
-<%@ taglib uri="http://myfaces.apache.org/tobago/extension" prefix="tx" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://myfaces.apache.org/tobago/component" prefix="tc" %>
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
-<%@ taglib tagdir="/WEB-INF/tags/layout" prefix="layout" %>
-
-<%
- // load bean before expression in foreach
- BestPracticeController controller
- = (BestPracticeController) VariableResolverUtil.resolveVariable(
- FacesContext.getCurrentInstance(), "bestPracticeController");
-%>
-<%!
- private String expression(String list, String status, String field, PageContext pageContext) {
- int index = ((LoopTagStatus) pageContext.getAttribute(status)).getIndex();
- return "#{" + list + "[" + index + "]." + field + "}";
- }
- private String fixed(int count) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < count; i++) {
- buffer.append("fixed;");
- }
- return buffer.toString();
- }
-%>
-<f:view locale="#{clientConfigController.locale}">
- <tc:loadBundle basename="overview" var="overviewBundle"/>
- <tc:page applicationIcon="icon/favicon.ico" id="page" width="600px" height="400px">
- <tc:box label="Best Practice - For Each">
- <f:facet name="layout">
- <tc:gridLayout rows="<%= "100px;" + fixed(controller.getBirds().size()) + "100px;*"%>" columns="2*;*"/>
- </f:facet>
-
- <tc:cell spanX="2">
- <tc:out escape="false"
- value="Is is possible to use the c:forEach tag of the JSTL to iterate over a list. <br/><b>Warning:</b> <br/>This example is a workaround. <br/>It is not compatible with further releases! <br/>This example works not with JSP-Tag-Files!"/>
- </tc:cell>
-
- <c:forEach items="${bestPracticeController.birds}" varStatus="status">
- <%
- String label = expression("bestPracticeController.birds", "status", "name", pageContext);
- String value = expression("bestPracticeController.birds", "status", "size", pageContext);
- String action = expression("bestPracticeController.birds", "status", "select", pageContext);
- %>
- <tx:in value="<%=value%>" label="<%=label%>"/>
- <tc:button label="Select" action="<%=action%>"/>
- </c:forEach>
-
- <tc:cell spanX="2">
- <tc:out value="#{bestPracticeController.status}"/>
- </tc:cell>
-
- <tc:cell spanX="2"/>
-
- </tc:box>
- </tc:page>
-</f:view>
+<ui:composition template="/WEB-INF/tags/layout/overview.xhtml"
+ xmlns:jsp="http://java.sun.com/JSP/Page"
+ xmlns:tc="http://myfaces.apache.org/tobago/component"
+ xmlns:tx="http://myfaces.apache.org/tobago/extension"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <ui:param name="title" value="Repeat/ForEach Test (not working)"/>
+
+ <!-- XXX not working! -->
+
+ <tc:panel>
+ <!--<f:facet name="layout">-->
+ <!--<tc:gridLayout rows="fixed;fixed;fixed;fixed;fixed;*"/>-->
+ <!--
+ XXX Without a gridLayout, the controls will be rendered, but cannot be seen,
+ XXX because there are behind other elements.
+ XXX With a gridLayout, it doesn't work correktly.
+ -->
+ <!--</f:facet>-->
+ <ui:repeat value="#{bestPracticeController.birds}" var="bird">
+ <tx:in value="#{bird.size}" label="#{bird.name}"/>
+ </ui:repeat>
+ <tc:label value="Not working :-("/>
+ <tc:cell/>
+ </tc:panel>
+</ui:composition>