Topic: 再问Tapestry开发中的问题

  Print this page

1.再问Tapestry开发中的问题 Copy to clipboard
Posted by: leafgray
Posted on: 2004-08-19 08:35

在定义自己的组件时,可以利用合成(不知道该怎么表达)..Sad
这样做:
<component-specification>
<component id="id" type="type">
<binding name="" expression=""/>
</component>
</component-specification>

那么是否必须提供一个HTML模板呢???

不用的话,怎么调用id这个组件....
谢谢!

2.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: lcwling
Posted on: 2004-08-19 09:00

欲速则不达,建议如果有兴趣的话,不妨好好看看Tapestry Component Reference

my.html

<span jwcid="@Conditional" condition="ognl:!showingMessage">
<form jwcid="form" class="ognl:formClass">
---------------------------------
</form>
</span>


my.page/jwc

<component-specification allow-body="yes" allow-informal-parameters="no"
class="*.components.MyForm">
<bean name="delegate" class="org.myproject.x.valid.FormValidationDelegate"/>

  <component id="form" type="Form">
    <binding name="direct" expression="true"/>
    <binding name="delegate" expression="beans.delegate"/>
    <binding name="listener" expression="listeners.onFormSubmit"/>
    <inherited-binding name="class" parameter-name="formClass"/>
  </component>
</<component-specification>

3.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: wenyuqiu
Posted on: 2004-08-19 09:08

jwcid="id"

4.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: leafgray
Posted on: 2004-08-19 10:14

可能没表达清楚我的意图.

Home.html
[code]
<span jwcid="test@Foreach" source="ognl:mySource">
<span jwcid="@Insert" value="ognl:components.test.value"/>
</span>

<span jwcid="@MyComponent1" source="ognl:mySource"/>Wink
[code]
span有相同行为.

MyComponent1.jwc
[code]
<component-specification>
<component id="e" type="Foreach">
<binding ..../>
</component>
<component id="in" type="Insert">
<binding ..../>
</component>
</component-specification>
[code]
这样还要提供一个MyComponent1.html(问题是这个可不可以不要,或者说更好的控制)

5.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: lcwling
Posted on: 2004-08-19 15:47

just the same;
一般的做法是不要在html中去定义jwcid,其attribute最好放在component specification,这样看起来比较清晰;不妨先试着做做看看!

6.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: leafgray
Posted on: 2004-08-19 17:43

just the same??不解.

在page里定义好component确实是清晰很多。
但有时候会有在HTML里使用 jwcid="@Component" 来定义的需求

在 component有required的属性时,像上面的使用会带来一点灵活性,我以为。要不然,在binding的时候,每个属性都要给一个相应的ognl:method.
这样在JAVA代码中,方法的需求会多一点。

不知道我这想法对不对,谢谢指教。

另外,在<component-specification>中用<property-specification>和
<parameter>会有什么不同,有何优劣??

努力学习中......

7.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: lcwling
Posted on: 2004-08-19 20:57

leafgray wrote:
just the same??不解.

感觉,你应该还是要多了解一些Tapestry的设计思想,建议你看看Tapestry in action这本书,一些基本的东西只有自己摸索实践之后,收获和突破才是最大的。
leafgray wrote:
在page里定义好component确实是清晰很多。
但有时候会有在HTML里使用 jwcid="@Component" 来定义的需求在 component有required的属性时,像上面的使用会带来一点灵活性,我以为。

页面中的定义要尽可能的单一,namely,jwcid=“componentID”,把component的attributes尽量留给component specification去完成;
leafgray wrote:
要不然,在binding的时候,每个属性都要给一个相应的ognl:method.
这样在JAVA代码中,方法的需求会多一点。
不知道我这想法对不对,谢谢指教。

一般在specification很少会有ognl:method的情形,几乎绝大部分是javabean property,会由Tapestry自己完成Render;
leafgray wrote:
另外,在<component-specification>中用<property-specification>和
<parameter>会有什么不同,有何优劣??

两者表述的内容不一样,无法进行比较!

8.Re:再问Tapestry开发中的问题 [Re: leafgray] Copy to clipboard
Posted by: leafgray
Posted on: 2004-08-20 10:19

谢谢楼上的指导.

发现我是误入歧途了!!!

我一直想的是有一个组件,在不要.page的情况下让美工使用......

一个.html对应一个.page,而在page里定义所有用到的组件的话
那html是什么样,自己也想得比较清楚了.

<span jwcid="@FromArray" index="1"/>这样就可以把array[1]输出到
页面上去.
而要array[2]的时候,只要 index="2" 就可以了......

----------------
BTW:希望各位多指点一下.不要因为我的问题很傻就不理我了. 谢谢!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923