论坛首页 Java企业应用论坛

[提问]土土问个Tapestry页面数据取得的问题

浏览 4122 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-06-05  
如果一个页面好从好多个不同的Bean里取得数据并显示到页面,这里有两个问题:
1、tapestry页面的数据是预先在页面定义文件里绑定好呢,还是直接使用隐含对象比如<span jwcid="@Insert" value="ognl:×××">直接插入好。
2、在一个页面定义文件里只能指定一个class,那假设有这里有这些文件,Home.java,User.java,Home.page,Home.html。Home这个类我可以在Home.page文件里预先指定的。取其中的数据当然很方便,那如果我想在Home.html里直接插入User类的一些数据。那怎么做的。我试过好多了,在ognl表达式里使用<span jwcid="@Insert" value="ognl:package.User@×××">或其它一些写法都不行。不知怎么弄的。

刚刚接触Tapestry。什么都不懂,大家指教!
   发表时间:2004-06-06  
我也是刚接触TAPESTRY,现在在做工程。
我是这样做的:
使用ABSTRACT方法你要显示的内容:public abstract  String getUser();
public abstract  void setUser(String arg0);
然后实现方法;
在HOME.PAGE里定义 <property-specification name="user" type="java.lang.String"/>
在home.html中<input jwcid="@TextField" value="ognl:user"/>

也可以把你在user.java中要显示的数据放到VISIT对象中。方法还是比较多的。
不知道对你有没有用。
0 请登录后投票
   发表时间:2004-06-06  
那是不是说,用ognl还是无法直接读取bean中的数据,不论怎样,都需要在定义文件定义相关的信息。

谢谢楼上的,至少让我知道的Tapestry Component Reference 里面搞那么多abstract是干什么的(表笑我,我先前还对这些充满疑问)。
0 请登录后投票
   发表时间:2004-06-07  
通过黑灯瞎火的摸索,发现
ognl:@package.class@member表达式是用来读取class中的静态成员的值
ognl:@package.class@method()表达式用来读取class中的静态方法的返回值。

可是如何得到做象读取page-specification制定的那个class中的普通的成员或方法的返回值呢。期待高人啊。
0 请登录后投票
   发表时间:2004-06-08  
如果参数不是静态的,那你必须要告诉页面这个对象在什么地方,是什么类型的。实际上因为一个页面都对应一个类或者叫做Action,因为tapestry仅帮助你初始化这个对象,那能取得对象的地方必须是Action的成员。
这么考虑还有问题吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics