2012-02-29 12 views
0

フォームとリクエストに関してこの問題に直面しています。私はsenchaとjavascriptを使用して、データをデータベースから取り出し、クライアントにHTMLページを返す前にフォーマットするJava WebアプリケーションにフォームをPOSTするWebページを作成しています。フォーム提出とHttpServletRequest

私が直面している問題は、フォームがいっぱいになる(クロムでデバッガを使用してチェックされる)間に、javaプログラムはフォーム内のパラメータを認識せず、代わりにnullとして読み込むということです。

私は古いJavaプログラムからフォームを設定する方法に従っていますが、これはうまく動作しません。誰かがこれをどのように解決できるか、あるいは私が間違っているかもしれないところを知っていますか?

私はJavaScriptコードとJavaコードを含めて、どのページを返すかを決めました。

関数呼び出しフォームを送信するには、JavaScriptハンドラ:ページの選択を決定する

var MenuA = function() { 
    simple.getComponent('flag').setValue('MenuA'); 
    simple.getEl().dom.action = './Soap'; 
    simple.getEl().dom.method = 'POST'; 
    simple.submit();} 

Javaコード:

if (request.getParameter("flag").matches("MenuA")) { 
    choice = 2; 
} else if (request.getParameter("flag").matches("MenuB")) { 
    choice = 3;} 

FormPanelコード:

var simple = new Ext.form.FormPanel({hidden:true,standardSubmit:true, 
items:[ 
{xtype: 'textfield', hidden: true, name : 'password', label: 'Password', id:'password'} 
,{xtype: 'textfield', hidden: true, name : 'user', label: 'user', id:'user'} 
,{xtype: 'textfield', hidden: true, name: 'flag', label: 'flag', id: 'flag'}]}) 

答えて

1

あなた

メソッドは、 "flag"という名前のフォーム要素を探しています。 フォームにフラグフィールドが含まれていない可能性があるので、そのフィールドにはnullがあるとみなされます。 これを解決するには、名前フィールドに "flag"という名前の入力フィールドを追加し、そのフィールドに目的の値を入力します。 これはあなたのために働くべきだと思います。

+0

こんにちはYadav、返信いただきありがとうございます。私は実際にコードにFormPanelを既に持っていましたが、それを上に含めて忘れました。私はちょうどそれを第1の投稿に追加しました。それを含むことを忘れて申し訳ありません。 – Rax

0

Nevermind。問題が見つかりました。フォームが適切に送信されていないことはわかりませんでした。ご迷惑おかけして申し訳ありません!

関連する問題