我有一個奇怪的場景。查詢字符串具有價值first=second=12123423423423432323234
Java字符串(查詢字符串)操作
String queryString = request.getParameter("first=second=12123423423423432323234")
所以我要:
- 捕獲「第一」和「第二」值
- 驗證查詢字符串有「第一」和「第二」。
請問有人可以分享我如何以最好的方式實現這一目標嗎?
我真的很感激你對此的幫助。
我有一個奇怪的場景。查詢字符串具有價值first=second=12123423423423432323234
Java字符串(查詢字符串)操作
String queryString = request.getParameter("first=second=12123423423423432323234")
所以我要:
請問有人可以分享我如何以最好的方式實現這一目標嗎?
我真的很感激你對此的幫助。
我相信您的查詢字符串應該像
first=firstvalue&second=secondvalue
你可以使用這個在你的servlet打印查詢字符串
String firstValue = request.getParameter("first");
String secondValue = request.getParameter("second");
System.out.println("Query String:first="+firstValue+"second=+"secondValue);
在你的情況,那裏的查詢字符串
first=second=12123423423423432323234
您可以做到這一點
String first = request.getParameter("first");
String second = request.getParameter("second");
if(first.contains("second=")){
second = first.split("second=")[1];
first = first.split("second=")[0];
}
out.println("[First:"+first+"][Second:"+second+"]");
它爲我的用例工作。謝謝你Avinash奈爾。 – user1635014
如果您的參數被&
(即: first=&second=something
),然後簡單地.getParameter("first")
和.getParameter("second")
否則,你需要用字符串玩 - 大概分成左右=
,並且直到second
首次降息的值遇到。雖然我沒有看到如果first
的值爲:first=foosecond=bar
,那麼這將如何工作?
它看起來不像'first =&second = 12123423423423432323234'嗎?如果沒有'key = value'對之間的分隔符/分隔符,那麼您被刷新 – Bohemian
這不是一個有效的查詢字符串... – fge
您需要用'&'然後用'='分割並使用Map來映射查詢參數鍵和查詢參數值。這幾乎是Java中所有的Web框架都可以完成的。 –
Srinivas