Используя Rails 3.1, куда вы помещаете свою & ldquo; страницу, специфичную & rdquo; Код JavaScript?

Я уже работал над этой проблемой. Я использую несколько разных методов. Однако сложно иметь по-настоящему кросс-платформенное решение.

Я попытался сделать что-то вроде этого:

String os = System.getProperty("os.name").toLowerCase();

    //Windows
    if(os.contains("win")){
        System.out.append("Windows Detected");
        //set Windows Dos Terminal width 80, height 25
        Process p = Runtime.getRuntime().exec("mode 80, 25");
    }
    //Mac
    if(os.contains("mac")){
        System.out.println("Macintosh Detected");
        //... I dont know...try Google
    }
    //Linux
    if(os.contains("linux")){
        System.out.println("Linux Detected");

Вы можете читать / тестировать и добавлять «экспорт COLUMNS» в файл .bashrc в каждом домашнем каталоге Linux для Linux с помощью String .contains ("export COLUMNS") и свойство user.dir.

Это позволит вам загружать столбцы каждый раз при запуске приложения java.

Затем я передам его в файл temp. Например:

try {
    ProcessBuilder pb = new ProcessBuilder("bash","-c","echo $COLUMNS >/home/$USER/bin/temp.txt" );  
        pb.start();

    }catch (Exception e) {
        System.out.println("exception happened - here's what I know: ");
        e.printStackTrace();
        System.exit(-1);
    }
}

Другой вариант, который у вас есть, - выполнить yor Java.jar с помощью скрипта bash при запуске. Внутри скрипта вы можете использовать «tput cols» для получения ширины. Затем передайте это значение вашему Java-приложению как String [] arg.

Так вот:

//#!/bin/bash

//#clear the screen

clear 

//#get the console width and height

c=$[$(tput cols)]

l=$[$(tput lines)]

//#pass the columns, lines and an optional third value as String[] args.

java -jar ~/bin/Plus.jar $c $l $1

почему эта сложная задача с Java? Очевидно, хорошее место для написания хорошего API. Думаю, мы могли бы попробовать Apache.commons.exec?

386
задан sg7 17 March 2018 в 18:20
поделиться