2

私がJSPを理解しているのは、Javaコードの各行が段階的に(順番に)実行されるということです。たとえば、以下のコードがある場合、doSomething("apple")最初に値が返されるdoSomething("orange")まで実行され、次に値が返されるまで実行され、最後に値がdoSomething("pear")返されてページ全体が表示されるまで実行されます。

<table border="1">
    <thead>
        <tr>
            <th>Test</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Column A</td>
            <td><%=javaBean.doSomething("apple")%></td>
        </tr>
        <tr>
            <td>Column B</td>
            <td><%=javaBean.doSomething("orange")%></td>
        </tr>
        <tr>
            <td>Column C</td>
            <td><%=javaBean.doSomething("pear")%></td>
        </tr>
    </tbody>
</table>

これらの呼び出しを並行して実行するための最良の方法は何ですか?たとえば、doSomething("apple") & doSomething("orange") & doSomething("pear")同時に実行しますか?ありがとうございました。

4

3 に答える 3

3

JSPダイナミックHTMLを作成します。つまり、基本的に、ビジネスロジックの結果をからjavaBeanhtmlテーブルに配置することになります。各メソッドの結果を行に配置する必要があるため、そのままでは並行させることはできません。
必要なものすべてを計算するように(おそらく並行性を使用して)コードを再構築してから、結果を取得して行に配置する必要があります。

于 2013-03-24T09:03:58.447 に答える
2

私があなたの質問を理解したので、あなたはあなたのメソッドのために3つのタスク(3つのスレッド)を作成する必要があります。

于 2013-03-24T08:44:45.017 に答える
2

これはJSPで行うべきではありません。単一のスレッドでレンダリングするように設計されています。ページが遅すぎる場合、最近の通常の方法は、3つのプレースホルダーを持つページの読み込みを高速化することです。次に、遅い部分をAJAXでロードします。これらは、残りをロードするためにサーバーに同時にコールバックすることができます。

于 2013-03-24T09:24:32.080 に答える