在tapestry4.1中创建自己的jodo组件,运行的时候,有这样的提示,Not yet ready for use. APIs subject to change without notice不知道是什么东东,有哪位可以指教一下,代码如下
Circles.script
Circles.jwc
Circles.java
application文件
代码就是这些,如有哪位高手遇到过这个问题,希望可以帮忙一下.
Circles.script
xml 代码
- xml version="1.0"?>
- "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
- "http://tapestry.apache.org/dtd/Script_3_0.dtd">
- <script>
- <body>
- <unique>
- dojo.require("dojo.gfx.*");
- unique>
- body>
- script>
Circles.jwc
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- Copyright 2004, 2005, 2006 The Apache Software Foundation
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- 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.
- -->
- "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
- "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
- <component-specification class="myComponent.Circles"
- allow-body="yes" allow-informal-parameters="yes">
- <description>
- Creates a modal Circles.
- description>
- <inject property="script" type="script" object="Circles.script"/>
- component-specification>
Circles.java
java 代码
- package myComponent;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.tapestry.IMarkupWriter;
- import org.apache.tapestry.IRequestCycle;
- import org.apache.tapestry.IScript;
- import org.apache.tapestry.PageRenderSupport;
- import org.apache.tapestry.TapestryUtils;
- import org.apache.tapestry.dojo.form.IFormWidget;
- import org.apache.tapestry.form.AbstractFormComponent;
- public abstract class Circles extends AbstractFormComponent implements IFormWidget
- {
- public abstract void setDestroy(boolean destroy);
- public abstract IScript getScript();
- public abstract String getClientId();
- public abstract void setClientId(String id);
- /**
- * Determined dynamically at runtime during rendering, informs widget implementations
- * if they should destroy their client side widget equivalents or leave them in tact.
- *
- * @return True if the widget should be destroyed on this render, false otherwise.
- */
- public abstract boolean getDestroy();
- /**
- * {@inheritDoc}
- */
- public void renderWidget(IMarkupWriter writer, IRequestCycle cycle)
- {
- renderComponent(writer, cycle);
- }
- /**
- * {@inheritDoc}
- */
- protected void renderFormComponent(IMarkupWriter writer, IRequestCycle cycle)
- {
- if(!cycle.isRewinding()) {
- if (!cycle.getResponseBuilder().isDynamic()
- || cycle.getResponseBuilder().explicitlyContains(this)) {
- setDestroy(false);
- } else
- setDestroy(true);
- }
- // don't render if not part of update response
- if (cycle.getResponseBuilder().isDynamic()
- && (!cycle.getResponseBuilder().explicitlyContains(this)
- && !cycle.getResponseBuilder().contains(this))) {
- return;
- }
- renderFormWidget(writer, cycle);
- }
- /**
- * {@inheritDoc}
- */
- protected void rewindFormComponent(IMarkupWriter writer, IRequestCycle cycle)
- {
- rewindFormWidget(writer, cycle);
- }
- /**
- * Called when rendering a form widget.
- *
- * @param writer
- * The markup writer to render with.
- * @param cycle
- * The cycle associated with request.
- */
- protected void renderFormWidget(IMarkupWriter writer, IRequestCycle cycle)
- {
- Map parms = new HashMap();
- parms.put("id", getClientId());
- parms.put("widget", this);
- PageRenderSupport pageRenderSupport = TapestryUtils.getPageRenderSupport(cycle, this);
- getScript().execute(this , cycle, pageRenderSupport , parms);
- }
- /**
- * Called during form submission to retrieve submitted input values.
- * Components should do any validation/retrieval of values in this method.
- *
- * @param writer
- * The passed in {@link IMarkupWriter} will be a {@link NullMarkupWriter}, making
- * any content written ignored.
- * @param cycle
- * Typically used to retrieve submitted value via
cycle.getParameter(getName())
. - */
- protected void rewindFormWidget(IMarkupWriter writer, IRequestCycle cycle)
- {
- }
- }
application文件
xml 代码
- xml version="1.0"?>
- "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
- "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
- <application name="workbench">
- <meta key="org.apache.tapestry.visit-class" value="org.apache.tapestry.workbench.Visit"/>
- <meta key="org.apache.tapestry.template-encoding" value="ISO-8859-1"/>
- <meta key="org.apache.tapestry.page-class-packages" value="org.apache.tapestry.workbench"/>
- <meta key="org.apache.tapestry.component-class-packages" value="org.apache.tapestry.workbench.components"/>
- <library id="contrib" specification-path="classpath:/org/apache/tapestry/contrib/Contrib.library"/>
- <page name="Home" specification-path="/WEB-INF/home/Home.page"/>
- <page name="Page1" specification-path="/WEB-INF/pages/Page1.page"/>
- <component-type type="Circles" specification-path="/myComponent/Circles.jwc"/>
- application>
代码就是这些,如有哪位高手遇到过这个问题,希望可以帮忙一下.