java 启动默认浏览器,并传递多个参数问题

java 启动浏览器的方法很多,我也是在参照了各位大神的基础上总结来的,希望对别的同学有帮助,感谢这位大哥

https://blog.csdn.net/zp357252539/article/details/77896257/,这里面讲的启动浏览器的方法很多,但是传递参数就不行了,

		try {
					
					
					 Runtime.getRuntime().exec( "cmd   /c   start   http://localhost:8012/admin/sysAdminOfPlatform.do?sysId=141);
				
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

这种方法只能传递一个参数,controller后台用 String id=request.getParameter("sysId");接收,后来我发现可以传递多个参数的放式,且启动的是默认浏览器

try {
				//http://localhost:8012
				String serverName=request.getServerName();
				int port=request.getServerPort();

				String url = "http://"+serverName+":"+port+"/admin/sysAdminOfPlatform.do?sysId=141&uesrId=1681&memberid="+m.getId();
				java.net.URI uri = java.net.URI.create(url);
				// 获取当前系统桌面扩展
				java.awt.Desktop dp = java.awt.Desktop.getDesktop();
				// 判断系统桌面是否支持要执行的功能
				if (dp.isSupported(java.awt.Desktop.Action.BROWSE)) {
					dp.browse(uri);
					// 获取系统默认浏览器打开链接
				}
			} catch (java.lang.NullPointerException e1) {
				// 此为uri为空时抛出异常
				e1.printStackTrace();
			} catch (java.io.IOException e1) {
				// 此为无法获取系统默认浏览器
				e1.printStackTrace();
			}

根绝地址,传递多个参数,后台接收如下

Integer sysId=Integer.valueOf(request.getParameter("sysId"));
Integer userId=Integer.valueOf(request.getParameter("uesrId"));
Integer memberid=Integer.valueOf(request.getParameter("memberid"));

完美解决!

发布了8 篇原创文章 · 获赞 3 · 访问量 3791

猜你喜欢

转载自blog.csdn.net/u014298444/article/details/103969201