我有一个奇怪的场景。查询字符串具有价值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