2010-06-02 15 views
7

Query String'i alan bazı Apache yardımcı programı var mı? Bazı kodlama ve döndürme eşlemi Map of key, [] url kodu çözüldü?Ad sorgulamak için HTTPclient ile Sorgu Dizesi Ayrıntısı Verileri

+0

HttpServletRequest getParameter yöntemiyle alınan değerlerle bir çeşit kodlama sorunu yaşıyor musunuz? – Powerlord

+0

@Powerlord belki bir sunucu ortamında değil. –

+1

@JaimeHablutzel [tag: tomcat] etiketlerinde yer almaktadır. – Powerlord

cevap

7

Kullanımdan kaldırılmıştır, ancak HttpUtils.parseQueryString'u kullanabilirsiniz.

Parametre adlarını değerlerle eşleştirir. Parametre bir kereden fazla görünüyorsa, değer bir dizidir.

DÜZENLEME: Karakter kodlamasını belirtmenize izin vermediği için yukarıdaki yöntem kullanımdan kaldırılmıştır.

Apache'deki HttpClient projesi, bunu başarmanız için gereken sınıflara sahiptir.

Sorgu dizesinin kodunu çözmek için URIUtil.decode(String data, String encoding) kullanın.

, NameValuePair s listesini almak için. Daha sonra bunları parametre adıyla yazılan bir Commons Koleksiyonları MultiMap'a ekleyebilirsiniz. (Normal bir karma haritası kullanabilirsiniz, ancak bu anahtar başına birden çok değeri işlemek için daha fazla kod içerir.)

+2

http://www.docjar.com/docs/api/org/apache/catalina/util/RequestUtil.html#parseParameters%28Map%%20byte%%20String%29? –

+0

evet, yazmak istediğim buydu! :) – mdma

+0

Ancak, benim app tomcat libs bağımlı değilim, Başka nerede maruz kalıyordu? –

7

HttpClient'in bir 4.x sürümünü kullanıyorsanız, URLEncodedUtils.parse()'u kullanmak isteyeceksiniz. Bir URI (veya string + karakter kümesi) alır ve bir NameValuePairs Listesi döndürür.