浏览 4770 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-09-11
<span jwcid="@Foreach" source="ognl:articles" value="ognl:currentVar"> <TR> <TD> <a href="#" jwcid="url@DirectLink" id="ognl:currentVar[0].id" onclick='showDetail("ognl:currentVar[0].id");;' listener="ognl:listeners.doDetail" parameters="ognl:currentVar[0].id"> <span jwcid="@Insert" value="ognl:currentVar[0].articleTitle">test</span> </a> </TD> <TD><span jwcid="@Insert" value="ognl:currentVar[1].authorName">test</span></TD> <TD><span jwcid="@Insert" value="ognl:currentVar[0].articleViewTime">test</span></TD> <TD><font size="2"><span jwcid="@Insert" value="ognl:currentVar[0].articlePostTime">test</span></font></TD> </TR> </span> 请求的特殊的t4似的url我可以在后台得到,但是 在浏览器上,注意那个DirectLink函数会被翻译成这个样子: <a href="/TapTest/app?component=url&page=main&service=direct&session=T&sp=S402880850379b5ba010379b5c0e70002" onclick="showDetail(&ognl:currentVar[0].id&);;" id="402880850379b5ba010379b5c0e70002"> Ognl表达式根本不翻译成id! 居然还是“&ognl:currentVar[0].id&" ” 这样我就无法得到用户点击的是哪个标题,从而得到参数调用相应的js方法 谁知道为何在javascript的onclick事件中,为什麽ognl表达式不执行? 是不是T4不适合处理这种分桢的页面? ![]() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-09-12
昏迷,你居然会这样想当然的写OGNL。汗颜~无语咯。何况与标题不符。
不会写就老老实实问嘛,何必下如此自以为是的结论? onclick='ognl:"showDetail(\"" + currentVar[0].id + "\");"' |
|
返回顶楼 | |
发表时间:2005-09-12
gzdlw 写道 昏迷,你居然会这样想当然的写OGNL。汗颜~无语咯。何况与标题不符。
不会写就老老实实问嘛,何必下如此自以为是的结论? onclick='ognl:"showDetail(\"" + currentVar[0].id + "\");"' 多谢,这样写是可以的。当有两个问题 这个 ognl 表达式的用法,我到他的主页的document 中看过了,好像不是很详细,使用的例子也不多,比如这里的问题,为什么不是写成 onclick='"showDetail(ognl:\"" + currentVar[0].id + "\");;"' 呢? 这里我按照taglib的方式去写了,如果是 jsp标签,就应该是: onclick='"showDetail(<jspTag:mytag attr=currentVar[0].id />+ "\");;"' 但是使用ognl的时候,好像是javascript 函数的顺序和ognl表达式混起来的,都说ognl很强大,但是哪里有比较全的 ognl 使用文档?应该包括这种和 javascript混用的情况。 我这种在tapestry中调用 javascript的方法是不是最标准的T4做法呢?他有没有更方便的,或者更地道的调用方法呢? 比如我看他的文档上好像可以在后台调用前台的javascript函数,例如: public void invokeJavaScript(IMarkup mark,IRequestCycle cycle);{ component.process(FormType.input_Type,"javascript_function_Name");; } 如果能像这样在后台指定调用前台的javascript,就太方便了,因为T4的优势是在后台可以方便的转递变量,这样就不用在前台转递js变量了! ![]() |
|
返回顶楼 | |
发表时间:2005-09-12
引用 这里我按照taglib的方式去写了,如果是 jsp标签,就应该是:
java代码: onclick='"showDetail(<jspTag:mytag attr=currentVar[0].id />+ "\&);"' 但是使用ognl的时候,好像是javascript 函数的顺序和ognl表达式混起来的,都说ognl很强大,但是哪里有比较全的 ognl 使用文档?应该包括这种和 javascript混用的情况 在这里呢,我说点自己的想法。。。我觉得做技术,最忌讳的就是在一种技术身上去寻找另外一种技术的影子。。。有时候会有人问我这样的问题:“Tapestry怎么不能像JSP那样如何如何使用,或者完成如何如何功能。”。。。遇到这种问题,我都非常反感,所以通常会很不客气的回答:“没人求你用Tapestry呀。” 记得一年前我刚进公司的时候,分派下来的第一件工作是翻译OGNL文档。我觉得OGNL文档还是比较全面的,事隔一年,我想现在OGNL文档应该不会差到哪里去。 引用 我这种在tapestry中调用 javascript的方法是不是最标准的T4做法呢?他有没有更方便的,或者更地道的调用方法呢? 比如我看他的文档上好像可以在后台调用前台的javascript函数,例如:
java代码: public void invokeJavaScript(IMarkup mark,IRequestCycle cycle){ component.process(FormType.input_Type,"javascript_function_Name"); } 如果能像这样在后台指定调用前台的javascript,就太方便了,因为T4的优势是在后台可以方便的转递变量,这样就不用在前台转递js变量了! 不知道这样是否可以? 我不知道T4现在是不是可以这样来调用JS。。。我手头上现在还没有全面的Tapestry文档。。。不过呢,我肯定不会这样用。因为我们都是做B/S开发的,JavaScript作为脚本语言,本来就是为了减少与服务器端的交互而存在(作为数据效验)。如果按照你说的这种用法,数据都已经提交到服务器端了,再返回给客户端JS进行数据效验,毫无意义。即便要使用xmlhttp,也不会用这种做法。 即便遇到真的非常非常特殊的JS变量传递,我仍然会通过ognl获取值。这个嘛,就看程序员自己的变通了,具体情况具体处理。 |
|
返回顶楼 | |
发表时间:2005-09-13
怎么会不好实现呢
左边的导航可以采用硬编码的url嘛 这样 和jsp没多大区别,什么都能够实现 |
|
返回顶楼 | |
发表时间:2006-11-20
请问怎么把页面显示在框架右边?
是用哪个组件:是PageLink,DirectLink还是ExternalLink? |
|
返回顶楼 | |