Java 带有RPC调用的Gwt和MySql
所以我有一个标签,所有的书都有书名,每本书都有章节。。。所以我有 章节的另一个标签。 我希望当选择一本书和一个章节时,RPC调用将启动,并从数据库中获取用户想要的书的章节Java 带有RPC调用的Gwt和MySql,java,mysql,gwt,label,rpc,Java,Mysql,Gwt,Label,Rpc,所以我有一个标签,所有的书都有书名,每本书都有章节。。。所以我有 章节的另一个标签。 我希望当选择一本书和一个章节时,RPC调用将启动,并从数据库中获取用户想要的书的章节 books.addChangeHandler(new ChangeHandler(){ @Override public void onChange(ChangeEvent event) { int i;
books.addChangeHandler(new ChangeHandler(){
@Override
public void onChange(ChangeEvent event) {
int i;
int selectedChapter = books.getSelectedIndex();
if(selectedChapter != -1)
{
chapters.clear();
for(i=0;i<bookChapters[selectedChapter];i++)
{
chapters.addItem("Chapter" + (i+1));
}
}
}
});
RPC:在这里,我需要第1册第1章,它是有效的
books.addChangeHandler(new ChangeHandler(){
@Override
public void onChange(ChangeEvent event) {
int i;
int selectedChapter = books.getSelectedIndex();
if(selectedChapter != -1)
{
chapters.clear();
for(i=0;i<bookChapters[selectedChapter];i++)
{
chapters.addItem("Chapter" + (i+1));
}
}
}
});
//Book //Chapter
rpcService.getChapterTxt(1, 1, new AsyncCallback<List<BibleTxt>>(){
public void onFailure(Throwable caught)
{
Window.alert("Failed getting Chapter");
}
public void onSuccess(List<BibleTxt> result)
{
int i = 0 ;
String verseText ="";
//Label verseLabel = new Label();
PPanel chapterPar = new PPanel();
HTML page= new HTML(verseText);
for(i=0;i<result.size();i++)
{
verseText = result.get(i).getVerseText();
//verseLabel.setText(verseText);
page.setText(page.getText() + verseText);
}
chapterPar.add(page);
p.add(chapterPar);
}
});
如何在上面的处理程序中使用RPC调用?bookChapters数组代表什么?在达到bookChapters[selectedChapter]之前,您一直在增加索引i,但我不清楚这是为了什么。再看一看,我认为selectedChapter变量可能是该书的索引,并且您正在为书中的每个章节循环,为chapters对象添加描述。如果是这种情况,那么我认为您可能正在尝试加载所选书籍的每一章,在这种情况下,您希望为每一章调用getChapterTxt。。。我想获取selectedChapters和bookChapters[selectedChapters]并通过rpcService发送它们。getChapter selectedChapter,bookChapters[selectedChapter],new Asychcall…是否要多次调用getChapterTxt服务器方法?或者,当用户选择一个章节时,您只是想获得一个章节?如果你只想得到一章,那么就把RPC调用放在onChange方法中,在chapters.clear调用之后。我考虑过这一点,不喜欢代码的外观,编译器希望rpcservice是最终的,我不知道那是什么。。。如果这是唯一的解决方案,谢谢你,我希望final在java中不是全局的
books.addChangeHandler(new ChangeHandler(){
@Override
public void onChange(ChangeEvent event) {
int i;
int selectedChapter = books.getSelectedIndex();
if(selectedChapter != -1)
{
chapters.clear();
for(i=0;i<bookChapters[selectedChapter];i++)
{
chapters.addItem("Chapter" + (i+1));
}
}
}
});