Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有RPC调用的Gwt和MySql_Java_Mysql_Gwt_Label_Rpc - Fatal编程技术网

Java 带有RPC调用的Gwt和MySql

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;

所以我有一个标签,所有的书都有书名,每本书都有章节。。。所以我有 章节的另一个标签。 我希望当选择一本书和一个章节时,RPC调用将启动,并从数据库中获取用户想要的书的章节

           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));


                    }


                }


            }

        });