JavaのStrutsで構築をしているWebアプリケーションです。
●やりたいこと
確実にjavascriptが無効であるブラウザの場合に、
サーバ側(共通Action)でエラー処理を行いたいです。
●環境
apache, tomcat, struts, jdk5
●条件
(1)クライアント側での制御は不可(<NO SCRIPT>タグなど)
(2)JSPからActionへはjavascriptが無効という情報を送る必要がある。
(3)JSPからの遷移時にsubmitボタンがない事が多い。
(4)共通Actionでは他チェックも入っているため、
基本エラーページで有効の場合は正しいページということができない。
以上のことから、まずはhidden項目にパラメータをセットし、
javascriptが有効の場合には有効という情報をサーバ側に送信し、
サーバ側ではgetParameterで(!null&!有効)という制御で
エラーページに遷移するプログラミングを組んだのですが、
一回の呼び出しで共通Actionが複数回呼ばれることがあり、
二回目以降はパラメータがnullとなってしまいましたので
こちらの手段では難しいことがわかりました。
上記のことより、offという情報を条件の(2)が必要と判断したのですが、
条件(3)により、javascript無効時にはsubmitさせられないので
hidden項目をサーバに送ることが不可能ということもわかりました。
以上の件で何か解決策がわかるかたはいらっしゃいますでしょうか?
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>まずはhidden項目にパラメータをセットし、
>javascriptが有効の場合には有効という情報をサーバ側に送信し、
>サーバ側ではgetParameterで(!null&!有効)という制御で
>エラーページに遷移するプログラミングを組んだのですが、
>一回の呼び出しで共通Actionが複数回呼ばれることがあり、
>二回目以降はパラメータがnullとなってしまいましたので
>こちらの手段では難しいことがわかりました。
アクションサーブレットでgetParameterした後、sessionにセットしてはどうでしょうか?
No.2
- 回答日時:
>ただ要件として、クライアントではチェックを行わず、
>チェックはサーバ側で行うという条件があります。
と
>その中で、クライアントでしか取得できないjavascriptの有効/無効を
>どのようにサーバ側でチェックするのかというのが質問内容です。
というのはそもそも矛盾した要件ではないですか?
<NO SCRIPT>タグでjavascriptの有効無効をチェックする事は
hiddenでサーバーに渡すにせよ結局はクライアントのチェックということになると思いますが・・・
きっと制御を行うのがサーバー側でなければならないという要件になるんですよね?
filterクラスを作成してfilterの段階で処理を入れてみてはどうでしょうか?
ありがとうございます。
ご指摘どおり、有効/無効はクライアント側で、
エラー処理はサーバ側です。
Filterの情報ありがとうございます。
No.1
- 回答日時:
要件定義がまだはっきりとしないのどうアドバイスをすればよいのかわかりませんが・・・
javascript有効が前提だとして最終的には処理を拒否するのであれば、一番最初の入力フォーム?を表示したタイミングで
javascriptがOFFであればエラー画面へリダイレクトするというのはどうですかね?
この回答への補足
要件がわかりづらくて申し訳ありません。
簡単に言うと
通常であれば、<NOSCRIPT>内にエラーページへ遷移するなどクライアント側で制御すればエラーページへ遷移すると思います。
ただ要件として、クライアントではチェックを行わず、
チェックはサーバ側で行うという条件があります。
その中で、クライアントでしか取得できないjavascriptの有効/無効を
どのようにサーバ側でチェックするのかというのが質問内容です。
ただし条件として、確実にjavascriptが無効の場合にしか
エラーページに遷移させないというのがあります。
同じようなことでcookieの有効無効チェックなどもあるかと思いますが、
こちらはsessionクラスのisRequestedSessionIdFromCookie()メソッドを
利用して対応できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IEで見ると「構文エラー」にな...
-
PDFフォームで条件つき金額を表...
-
window.openがIEでエラーにされる
-
PowerPointで時計表示
-
正整数の半角数字かどうか判定する
-
ラベルの色がかわってくれない
-
VB.NETからWEBブラウザの操作に...
-
文字認証の問題
-
六曜カレンダー
-
csvファイルを読み込み、該当項...
-
「終了していない文字列型の定...
-
JavaScriptによる....
-
JavaScriptで初めてOOPを試した...
-
”吴”とはなんですか?
-
Webページ中の javascript をVB...
-
リンクを右クリックするとペー...
-
JSPの処理の途中で、JavaScript...
-
Vba SelStart、SelLen教えてく...
-
表示ページによって、aタグ内の...
-
アクセスのフォームでタイマー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページビルダーでスクリ...
-
Javascriptエラーの原因が分か...
-
window.openがIEでエラーにされる
-
confirm()をはい/いいえ に切...
-
IE8開発者ツールでソースの修正
-
PDFフォームで条件つき金額を表...
-
クリックすると下に説明文が出...
-
IE11での3Dオブジェクト表示が...
-
ホームページで写真自動切り替...
-
javascript + php でエラー
-
HTAで,親ウインドウを閉じ...
-
gooの簡単ホームページでJav...
-
javascriptのプログラムをIEで...
-
関数を最終行までコピー
-
JavaScriptでVBのOption Explic...
-
エディタ機能のTEXTAREAを作りたい
-
特定の文字でエラー
-
オブジェクトでサポートされて...
-
エラーが表示される
-
IEでのエラーについて(javascript)
おすすめ情報