0

問題があります。クエリを実行して、テーブル t からテストと言うデータを取得する必要があります。現在、クエリはアクション クラスで実行されています。実行に 20 秒かかります。 t が存在するかどうかを確認するのを待たせると、ユーザーはイライラします。

select t from table 
if(t!=null&&!(.equals("")))
{
return (mapping.findForward(result));
}
// Normal flow

常に通常のフローを実行し、バックグラウンドでクエリを実行し、t の値を取得して struts config に記載されているページに戻るたびに中断することをお勧めします。これを行う方法はありますか?

4

1 に答える 1

0

これにはAJAXを使用できると思います。応答が来たときにアクティビティが実行されるようにコードを取得します。つまり非同期です。

ただし、1 つ言えることは、Action は常に処理が完了するまで待機するということです。代わりに、Ajax でタスクを開始してそのステータスを確認できるテーブル (タスク テーブルなど) を用意できます。

ユーザーがページからナビゲートできるようにすると、あなたの人生はより困難になると思います.

ライトボックス コントロールのように画面のクリックを無効にできる場合、これはより適切に見えると思います。

于 2009-10-21T09:11:06.857 に答える