- PR -

URL#name の name部分を取得したい

1
投稿者投稿内容
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-08-03 22:30
例えば、
http://hoge.com/hoge.jsp#name
にアクセスし、
HTTPServletRequest requestからnameの部分を抽出したいのですが、

org.springframework.web.servlet.DispatcherServletで
hoge.html に対して hoge.jsp をディスパッチしている状態です。

そのせいかどうかはわかりませんが、
http://hoge.com/hoge.html#name にアクセスし、
request.getRequestURI() 、 request.getRequestURL() を取得しても
戻り値はそれぞれ、hoge.html 、 http://hoge.com/hoge.html となり、
nameの部分の情報が取得できません。

これを取得する方法はないでしょうか?

よろしくお願いいたします。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2006-08-04 11:47 ]
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-08-04 08:48
request.getRequestURI() 、
request.getRequestURL()
の両メソッドでは通常取得できません。

request.getQueryString()
メソッドで取得出来るはずです。
お試しください。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-08-04 11:21
引用:

あすかさんの書き込み (2006-08-04 08:48) より:
request.getQueryString()
メソッドで取得出来るはずです。


フラグメント(アンカー部)は、Webサーバまで伝わらないので、
Servletでは取得できないのでは?QueryStringとも違いますし。
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-08-04 11:47
コメントありがとうございます。

request.getQueryString() でも取得できませんでした。

JavaScriptだと、
location.hash や location.href で取得できるのですが、
JavaScriptは、使わない方針なので...

#name の部分を使って、そこに飛ぶと同時に
処理を変えたかったので、
冗長ですが、
http://hoge.com/hoge.html?id=name#name
#<div id="name"><a name="name">XXX</a></div>
#とするのと同じような感覚で
として、
処理を判定する際は、QueryStringを使おうと思っています。

#ぜんぜんはずしてると思いますが、
 サーバーサイドのJavaScriptで、rhinoとかありますが、
 locationオブジェクトはブラウザ固有のオブジェクトですから
 使えないですよね?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-04 12:44
引用:

#ぜんぜんはずしてると思いますが、
 サーバーサイドのJavaScriptで、rhinoとかありますが、
 locationオブジェクトはブラウザ固有のオブジェクトですから
 使えないですよね?



正解!
プログラミング言語としてのJavaScriptなので、ブラウザ側の情報も
サーバ側で参照できるという意味では無いです。
1

スキルアップ/キャリアアップ(JOB@IT)