关于dwr与webwork的问题,请大家帮忙!!
悬赏:5 发布时间:2008-08-07 提问人:eyeshot (初级程序员)
在看webwork2自带的showcase中的dwr的例子中,遇到这样的一个问题:
JSP页面上有这样的代码
dojo.event.connect(dojo.byId("wordListButton"), "onclick", function() {
dwraction.execute(
{
action: 'wordList',
namespace: '/webwork_dwr',
executeResult: true
},
{},
function(ajaxResult) {
dojo.byId("wordList").innerHTML = ajaxResult.text;
}
);
});
通过其配置文件xwork-dwr.xml找到了它对应的类:WordListAction
<action name="wordList" class="com.opensymphony.webwork.showcase.dwr.WordListAction">
<result>/webwork_dwr/wordList.jsp</result>
</action>
下面是WordListAction的内容:
public class WordListAction extends ActionSupport {
public List getAllWords() {
return WordList.getInstance().getAllWords();
}
public String execute() throws Exception {
return SUCCESS;
}
}
到此我有两个疑问:第一个问题是经过我的程序跟踪,它会调用WordListAction中的getAllWords与execute(),程序是怎么调用到getAllWords这个方法的?
第二个问题是它的结果JSP页面中是这样的代码:
<ww:iterator id="currentWord" value="%{allWords}">
<li>
<ww:property value="%{#currentWord}" />
</li>
</ww:iterator>
这里的%{allWords}与%{#currentWord}是怎么得到数据的?类程序里面也没有定义这样的变量。
问题补充:
Quake Wang 兄说到:getAllWords方法是被JSP页面中的%{allWords}调用到的,
那再请问一下:JSP中是如何调用到getAllWords这个方法的,在哪有啥定义吗?
JSP页面上有这样的代码
dojo.event.connect(dojo.byId("wordListButton"), "onclick", function() {
dwraction.execute(
{
action: 'wordList',
namespace: '/webwork_dwr',
executeResult: true
},
{},
function(ajaxResult) {
dojo.byId("wordList").innerHTML = ajaxResult.text;
}
);
});
通过其配置文件xwork-dwr.xml找到了它对应的类:WordListAction
<action name="wordList" class="com.opensymphony.webwork.showcase.dwr.WordListAction">
<result>/webwork_dwr/wordList.jsp</result>
</action>
下面是WordListAction的内容:
public class WordListAction extends ActionSupport {
public List getAllWords() {
return WordList.getInstance().getAllWords();
}
public String execute() throws Exception {
return SUCCESS;
}
}
到此我有两个疑问:第一个问题是经过我的程序跟踪,它会调用WordListAction中的getAllWords与execute(),程序是怎么调用到getAllWords这个方法的?
第二个问题是它的结果JSP页面中是这样的代码:
<ww:iterator id="currentWord" value="%{allWords}">
<li>
<ww:property value="%{#currentWord}" />
</li>
</ww:iterator>
这里的%{allWords}与%{#currentWord}是怎么得到数据的?类程序里面也没有定义这样的变量。
问题补充:
Quake Wang 兄说到:getAllWords方法是被JSP页面中的%{allWords}调用到的,
那再请问一下:JSP中是如何调用到getAllWords这个方法的,在哪有啥定义吗?
采纳的答案
2008-08-07 Quake Wang (中级程序员)
第一个问题中的getAllWords方法是被JSP页面中的%{allWords}调用到
第二个问题中的%{#currentWord}是遍历出来的对象名
请参考webwork中关于ongl的文档
第二个问题中的%{#currentWord}是遍历出来的对象名
请参考webwork中关于ongl的文档
提问者对于答案的评价:
谢谢了,能不能给发一份ongl文档看看!admin@5imeng.com
其他回答
根据javabean的规范调用
比如你在jsp页面上写%{foo},就会调用到action的getFoo方法
比如你在jsp页面上写%{foo},就会调用到action的getFoo方法
Quake Wang (中级程序员) 2008-08-07
已解决问题数: 959
待解决问题数: 418
已关闭问题数: 1635
待解决问题数: 418
已关闭问题数: 1635




