Java 后台如何打开一个新的页面呢。
其实代码很简单,就下面这句。
//url是地址 ? 后面是传参。
// 这个只能在本地打开新的窗口。
//今天我在同事的电脑上操作时,发现打不来新的浏览器。回头一看,我自己的电脑上打开了好多个页面。顿时‘煞笔’。
//好吧 暂时我还不知道怎么弄 等我学会了在更新吧
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url+"?"+str);
如果跨系统了怎么办,那就写一个可以可以跨系统的方法。如下
private void openURl(String url){
//获取操作系统
String OSName = System.getProperty("os.name","");
if(OSName.startsWith("Mac OS")){
//苹果的操作系统 打开方式
Class fileMgr = Class.forName("com.apple.eio.FileManager");
Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
openURL.invoke(null, new Object[] { url });
}else if(OSName.startsWith("Windows")){
//Windows的操作系统 打开方式
RunTime.getRunTime().exec("rundll32 url.dll,FileProtocolHandler " + url);
}else{
//Unix or Linux 打开方式
String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
//执行代码,在brower有值后跳出,
//这里是如果进程创建成功了,==0是表示正常结束。
if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
browser = browsers[count];
if (browser == null)
throw new Exception("Could not find web browser");
else
//这个值在上面已经成功的得到了一个进程。
Runtime.getRuntime().exec(new String[] { browser, url });
}
}
}