「javaurl带参数」java解析url的链接和参数
本篇文章给大家谈谈javaurl带参数,以及java解析url的链接和参数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java怎么获取url上的参数
- 2、java 接收url中参数带 % %传过来的值
- 3、java代码增加url参数
- 4、java URL 添加参数的几种简单方式
- 5、java怎样获取url参数
- 6、java中url怎么带参数传递
java怎么获取url上的参数
解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
package RequestPackage;
import java.util.HashMap;
import java.util.Map;
public class CRequest {
/**
* 解析出url请求的路径,包括页面
* @param strURL url地址
* @return url路径
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()0)
{
if(arrSplit.length1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
return strPage;
}
/**
* 去掉url中的路径,留下请求参数部分
* @param strURL url地址
* @return url请求参数部分
*/
private static String TruncateUrlPage(String strURL)
{
String strAllParam=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()1)
{
if(arrSplit.length1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/**
* 解析出url参数中的键值对
* 如 "index.jsp?Action=delid=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url请求参数部分
*/
public static MapString, String URLRequest(String URL)
{
MapString, String mapRequest = new HashMapString, String();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每个键值为一组
arrSplit=strUrlParam.split("[]");
for(String strSplit:arrSplit)
{
String[] arrSplitEqual=null;
arrSplitEqual= strSplit.split("[=]");
//解析出键值
if(arrSplitEqual.length1)
{
//正确解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!="")
{
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0], "");
}
}
}
return mapRequest;
}
}
测试类
package RequestPackage;
import java.util.Map;
public class TestCRequest {
/**用于测试CRequest类
* @param args
*/
public static void main(String[] args) {
// 请求url
String str = "index.jsp?Action=delid=123sort=";
//url页面路径
System.out.println(CRequest.UrlPage(str));
//url参数键值对
String strRequestKeyAndValues="";
MapString, String mapRequest = CRequest.URLRequest(str);
for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";
}
System.out.println(strRequestKeyAndValues);
//获取无效键时,输出null
System.out.println(mapRequest.get("page"));
}
}
java 接收url中参数带 % %传过来的值
%是URL中的转义符,比如 %20 表示空格,如果你要表达一个%本身,需要使用 %25表示。
js中可以使用 escape() 来编码。
java代码增加url参数
你所说的是webproject也就是2个工程吧
是可以用一个页面跳转引用另一个工程的servlet的
前提是你知道另一个工程的完整servlet的名称
至于你想要传参数的话
可以考虑用 隐藏域 或者用 from post方式提交 这样就不会有url的参数了
java URL 添加参数的几种简单方式
主要有三种方式,先给大家第一种managed-bean,必须 scope设置为request
managed-bean
managed-bean-namenameBean/managed-bean-name
managed-bean-classdemo.NameBean/managed-bean-class
managed-bean-scoperequest/managed-bean-scope
managed-property
property-nameuserName/property-name
value#param.name/value
/managed-property
...
....
/managed-bean
第二种方式:缺点是无法往后台传数据,当然你用javascript做一下动作也可以
h:inputHidden id="userName" value="#{nameBean.userName}"/
第三种方式,是直接在bean中获得,我认为这种应该是最实用、保险的方式。
public static String getRequestParameter(String name) {
return (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(name);
}
java怎样获取url参数
public static MapString, String toMap(String url) {
MapString, String map = null;
if (url != null url.indexOf("") -1 url.indexOf("=") -1) {
map = new HashMapString, String();
String[] arrTemp = url.split("");
for (String str : arrTemp) {
String[] qs = str.split("=");
map.put(qs[0], qs[1]);
}
}
return map;
}
public static String getQueryString(String url, String name) {
return StringUtils.toMap(url).get(name);
}
String qs = getQueryString(url, "action");
java中url怎么带参数传递
var url = "" + empno + "starttime=" + starttime;
这只是作为一个案例
javaurl带参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java解析url的链接和参数、javaurl带参数的信息别忘了在本站进行查找喔。