2008-10-20 8 views
39

मुझे जावा में कुछ बहुत ही सरल यूआरएल मैनिपुलेशन करने की आवश्यकता है। क्वेरी में पैरामीटर के लिए मान प्राप्त करने की तरह, या इसे अपडेट करें, ... मुझे कॉमन्स-लैंग पैकेज में ऐसा करने के लिए एक सरल उपयोगिता वर्ग खोजने की उम्मीद थी, लेकिन नहीं। मुझे पता है कि यह एक साधारण समस्या है, लेकिन अगर कुछ पहले से लिखा गया है, तो फिर से क्यों करें? किसी के बारे में पता है ?जावा करने के लिए एक अच्छी लाइब्रेरी जावा में क्वेरी स्ट्रिंग मैनिपुलेशन

मैं कम से कम निम्नलिखित क्षमताओं करना चाहते हैं:

String myUrl = "http://www.example.com/test.html?toto=1&titi=2"; 

// get the value of a parameter 
String parameterValue = UrlUtils.getParameterValue(myUrl, "toto"); 
Assert.equals(parameterValue, "1"); 

// update a parameter 
String newUrl = UrlUtils.updateParameter(myUrl, "toto", 3); 
parameterValue = UrlUtils.getParameterValue(myUrl, "toto"); 
Assert.equals(parameterValue, "3"); 

आदर्श रूप में, यह सब एन्कोडिंग से संबंधित मुद्दों का ख्याल रखना होगा, और java.net.Url साथ के साथ ही तार के साथ काम करते हैं।

आपकी मदद के लिए धन्यवाद!

+2

+1 टोटो। और पूछे जाने के पांच साल बाद प्रश्न प्रासंगिक होने के लिए। आह। – user

+0

कृपया यहां समाधान देखें: http://stackoverflow.com/a/37744000/1882064 – arcseldon

उत्तर

6

मुझे लगता है कि क्या आप एक क्वेरी स्ट्रिंग एक यूआरएल जोड़तोड़ के बजाय पार्सर कहा जाता है चाहते हैं और यहाँ एक है: http://ostermiller.org/utils/CGIParser.java.html

+1

दुर्भाग्यवश, वह lib शून्य मानों को अस्वीकार करने लगती है। कुछ ऐप्स में ये दो अलग-अलग प्रश्न हो सकते हैं: '? Foo' और'? Foo = '। – phyzome

+0

कृपया इस समाधान की जांच करें क्योंकि मुझे विश्वास है कि यह शायद एक और मुख्यधारा की लाइब्रेरी है और ओपी ने क्या पूछा: http://stackoverflow.com/a/37744000/1882064 – arcseldon

3

दरअसल क्वेरी स्ट्रिंग और नंबर पार्स के लिए एक कुशल जावा पुस्तकालय जारी किया है:

http://engineering.indeed.com/blog/2014/02/efficient-query-string-parsing-util-urlparsing/

https://github.com/indeedeng/util/tree/master/urlparsing

(अस्वीकरण: मैं वास्तव में एक इंजीनियरिंग निदेशक हूँ।)

संबंधित मुद्दे