java 两个系统间的页面跳转

java 两个系统间的页面跳转(系统A跳转系统B)

系统A

//js(不传参)
window.open("http://"+ location.hostname +"/tempView");

//js(传参)
window.open("http://"+ location.hostname +"/tempView?token=" + encodeURIComponent(document.getElementById("token").value));

系统B

方法一(不传参)

//Controller
@RequestMapping(value = "/tempView")
public String tempView(){
///yxcj/tempView.html为templates下边的页面(如果不是,需要另外配置)
	return "/yxcj/tempView.html";
}

方法一(传参)

//Controller
@RequestMapping(value = "/tempView")
    public ModelAndView tempView(@RequestParam("token") String token) throws Exception {
        //根据秘钥和密文解密
        //String decryptData = DesbaseTool.decrypt(token);
        ///JSONObject jsonObject;
        //jsonObject = (JSONObject) JSONObject.parse(decryptData);

        //String userID = (String) jsonObject.get("userID");
        String userID = "userID";
        String decryptData = "userPassword";

        //模拟登录
        Subject subject = SecurityUtils.getSubject();
        Gt3UsernamePasswordToken gt3UsernamePasswordToken = new Gt3UsernamePasswordToken(userID ,decryptData);
        subject.login(gt3UsernamePasswordToken);
        
        ModelAndView view = new ModelAndView();
        view.setViewName("redirect:" + "/view/yxcj/yxzlfl.html");
        view.addObject("token", token);
        return view;
    }

前端(我这里另外添加了浏览器版本的判断)

//tempView.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>tempView</title>
    <link rel="stylesheet" href="/iframe/assets/libs/layui/css/layui.css"/>
    <link rel="stylesheet" href="/iframe/assets/module/admin.css?v=317"/>
    <!--[if lt IE 9]>
    <script src="/js/html5shiv/html5shiv.min.js"></script>
    <script src="/js/html5shiv/respond.min.js"></script>
    <![endif]-->
</head>
<style type="text/css">
    #div1{
        width: 10px;
        height: 10px;
        /* 使当前标签在父标签位置固定 */
        position: absolute;
        top: 50%;
        left: 50%;
        margin: 0 0 0 0;
    }
    #updow {
        width: 500px;
        height: 400px;
        border: 1px solid lightgrey;
        display: block;
        /* 使当前标签在父标签中保持水平、垂直居中 */
        top: 50%;
        left: 50%;
        margin-left: 32%;
        margin-top: 8%;
    }
</style>
<body>
<input id="token" th:value="${token}" style="display: none">
<div id="div1"></div>
<div id="updow"  align="center">
    <div style="margin-top: 30%">
        <span id="content"></span>
    </div>
</div>
<!-- js部分 -->
<script>

    var content = document.getElementById("content");

    content.innerHTML = "正在加载中,请稍后……";

    var version = IEVersion();

    if(version < 0 || version > 8){
        //不是IE浏览器,打开自己的窗口
        window.open("http://"+ location.hostname +"/g3LCLToFirefox?token=" + encodeURIComponent(document.getElementById("token").value), "_parent");
    }else {
        //IE浏览器,打开火狐浏览器

        var WshShell = new ActiveXObject("WScript.Shell");

        //添加可信站点或IP
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\","");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\http","2","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\:Range",location.hostname);

        //修改IE ActiveX 安全设置
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1001","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1004","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1200","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1201","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1208","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1405","0","REG_DWORD");
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\2201","0","REG_DWORD");

        //禁用弹出窗口阻止程序
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\New Windows\\PopupMgr","no");

        var a = WshShell.Run("cmd.exe /c start firefox http://"+ location.hostname +"/g3LCLToFirefox?token=" + encodeURIComponent(document.getElementById("token").value),0,true);

        if(a == 1){
            content.innerHTML = "本机未检测到火狐浏览器,请先<a href=\"/downloadFile/Firefox Setup 64.exe\" style=\"color: #00beff;\">点击下载并安装火狐</a>后,再进行操作!";
        }else {
            window.opener = null;//为了不出现提示框
            window.close();//关闭窗口
        }
    }

    function IEVersion() {
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
        var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
        if(isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if(fIEVersion == 7) {
                return 7;
            } else if(fIEVersion == 8) {
                return 8;
            } else if(fIEVersion == 9) {
                return 9;
            } else if(fIEVersion == 10) {
                return 10;
            } else {
                return 6;//IE版本<=7
            }
        } else if(isEdge) {
            return 'edge';//edge
        } else if(isIE11) {
            return 11; //IE11
        }else{
            return -1;//不是ie浏览器
        }
    }

</script>
</body>
</html>

over!!!

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
JavaFX中,可以使用两个类进行页面跳转,分别是Stage和Scene。下面分别介绍这两种方式的实现方法。 1. 使用Stage进行页面跳转 在一个类中创建一个新的Stage对象,并设置新的Scene。然后调用新的Stage对象的show方法,打开新的窗口。 ```java public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ Parent root = FXMLLoader.load(getClass().getResource("sample.fxml")); primaryStage.setTitle("Hello World"); primaryStage.setScene(new Scene(root, 300, 275)); primaryStage.show(); } public static void main(String[] args) { launch(args); } // 跳转到新的页面 public void jumpToNewPage() throws Exception { Stage newStage = new Stage(); Parent newRoot = FXMLLoader.load(getClass().getResource("newPage.fxml")); newStage.setTitle("New Page"); newStage.setScene(new Scene(newRoot, 300, 275)); newStage.show(); } } ``` 2. 使用Scene进行页面跳转 在一个类中创建一个新的Scene对象,并将其设置到同一Stage中。然后调用Stage的show方法,切换到新的Scene。 ```java public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ Parent root = FXMLLoader.load(getClass().getResource("sample.fxml")); primaryStage.setTitle("Hello World"); primaryStage.setScene(new Scene(root, 300, 275)); primaryStage.show(); } public static void main(String[] args) { launch(args); } // 跳转到新的页面 public void jumpToNewPage() throws Exception { Parent newRoot = FXMLLoader.load(getClass().getResource("newPage.fxml")); Scene newScene = new Scene(newRoot, 300, 275); Stage stage = (Stage) rootPane.getScene().getWindow(); stage.setScene(newScene); stage.show(); } } ``` 注意:在实际应用中,可能需要使用FXMLLoader加载FXML文件生成页面,或者使用FXML文件中定义的Controller实现页面跳转

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光彩虹小红码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值