2011-01-25 16 views
0

Netbeans/Glassfishとsqliteをデータベースとして使用しているウィンドウでJava/J2eeを使用してWebアプリケーションを作成しています。サーバーにhtmlテーブルデータを送信する方法(java/j2ee)

jspを使用してテーブルを作成します。表には3つの列があり、ユーザーが望む数の行があります。ユーザーはセル内のデータを入力して送信します。処理のためにデータをサーバーに送信する必要があります。サーブレットはいくつかの方法でHTMLフォームからデータを読み取ることができますが、表のすべてのセルからデータを読み取る方法はありません。これはどうすればいいですか?

また、「前の」ボタンと「次の」ボタンを使用してページングを実装する必要があります。そのため、最初のページにはユーザーが終了するまで20行かかります。私は、テーブルデータをページ単位でサーバーに送信する必要があるかどうか、またはユーザーが終了してすべてのページを一緒にサーバーに送信するまでクライアントにデータを一時的に格納できるかどうかを知りたいと思います。ユーザーが膨大な数の行を入力すると、クライアントに負担をかけるのは良い考えではないと思います。

これは私の最初のWebアプリケーションですので、既に説明がある場合は、私にリダイレクトしてください。私はかなりの検索を行った。

答えて

0

多くの利用可能なWebフレームワークを使用できますが、何か他のことをすることをお勧めします。あなたはそれがあなたの最初のWebアプリケーションだと言ったので、それは比較的単純であると予想されます。だから、あなたはフレームワークなしで立つことができます。さらに、コアを学ぶ必要があるので、フレームワークなしで立つべきです。

書き込み可能なテーブルを生成するJSPページを作成できます。タグ<table><input>を組み合わせる必要があります。各入力タグには属性名が必要です。同じ列のすべての入力は同じ名前になります。例えば

あなたのテーブルには、2列が含まれている場合:car_modelとcar_manufacturerと2行:

megane renault 
323 mazda 

テーブルには、次のようになります。

をこの表は、物を提出するフォームになりますHTTP POSTを使用してサーブレットに送信します。 同じ名前の複数のパラメータを取得することは問題ではありません。 Servlet APIではこれが可能です:request.getParameters("car_manufacturer")は、私たちのケースであるrenaultとmazdaを含む文字列の配列を返します。

前後のリンクの実装はあまり複雑ではありません。データを取得するには、とにかくページングを実装する必要があります。コレクションに最初に表示される要素のインデックスを表示し、表示する要素の数とDBから取得します。あなたのJSPは、これらの要素を取り、SQLクエリを実行し、関連する要素だけを表示する必要があります。より良い解決策は、クエリを動的に変更して関連する要素のみを取り出すことです。

私の回答が役立ちます。それは正確なtodoリストを含んでいませんが、私は始めるには十分なヒントを含んでいると信じています。頑張って楽しんでね。

+0

アレックス私はあなたの質問の最初の部分について述べたコンセプトを理解していますが、あなたは「テーブルは次のようになります」と言って、コードを見ることができません!ページング部分については、DBから取得したデータを表示するためにページングを実装するのではなく、ユーザーがDBに渡すために入力する間に実行します。私は、前のページで入力した内容を編集することができるように、ユーザーに「前の」柔軟性を与えています。 – shimna