Простой способ бэкпортировать код Java 6 к Java 5?

Это сочетание HTML и кода, но это довольно простой, простой в понимании и должен быть довольно простым для развязки в соответствии с вашими потребностями.

try {

    // Find out how many items are in the table
    $total = $dbh->query('
        SELECT
            COUNT(*)
        FROM
            table
    ')->fetchColumn();

    // How many items to list per page
    $limit = 20;

    // How many pages will there be
    $pages = ceil($total / $limit);

    // What page are we currently on?
    $page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
        'options' => array(
            'default'   => 1,
            'min_range' => 1,
        ),
    )));

    // Calculate the offset for the query
    $offset = ($page - 1)  * $limit;

    // Some information to display to the user
    $start = $offset + 1;
    $end = min(($offset + $limit), $total);

    // The "back" link
    $prevlink = ($page > 1) ? '<a href="?page=1" title="First page">&laquo;</a> <a href="?page=' . ($page - 1) . '" title="Previous page">&lsaquo;</a>' : '<span class="disabled">&laquo;</span> <span class="disabled">&lsaquo;</span>';

    // The "forward" link
    $nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '" title="Next page">&rsaquo;</a> <a href="?page=' . $pages . '" title="Last page">&raquo;</a>' : '<span class="disabled">&rsaquo;</span> <span class="disabled">&raquo;</span>';

    // Display the paging information
    echo '<div id="paging"><p>', $prevlink, ' Page ', $page, ' of ', $pages, ' pages, displaying ', $start, '-', $end, ' of ', $total, ' results ', $nextlink, ' </p></div>';

    // Prepare the paged query
    $stmt = $dbh->prepare('
        SELECT
            *
        FROM
            table
        ORDER BY
            name
        LIMIT
            :limit
        OFFSET
            :offset
    ');

    // Bind the query params
    $stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
    $stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
    $stmt->execute();

    // Do we have any results?
    if ($stmt->rowCount() > 0) {
        // Define how we want to fetch the results
        $stmt->setFetchMode(PDO::FETCH_ASSOC);
        $iterator = new IteratorIterator($stmt);

        // Display the results
        foreach ($iterator as $row) {
            echo '<p>', $row['name'], '</p>';
        }

    } else {
        echo '<p>No results could be displayed.</p>';
    }

} catch (Exception $e) {
    echo '<p>', $e->getMessage(), '</p>';
}
8
задан DyreSchlock 20 August 2008 в 13:50
поделиться

6 ответов

Существует несколько библиотек там, которые могут помочь Вам. К сожалению, я не судил их сам, потому что я никогда не сталкивался с такой ситуацией.

4
ответ дан 5 December 2019 в 13:02
поделиться

Посмотрите здесь:

http://en.wikipedia.org/wiki/Comparison_of_backporting_tools

Я попробовал retrotranslator от 1,6 до 1.4.2, и он работает вполне прилично!

4
ответ дан 5 December 2019 в 13:02
поделиться

Apple выпустила Java 6 на последней версии OS X. Какие функции Вы используете конкретно от Java6, которые не находятся в java5?

3
ответ дан 5 December 2019 в 13:02
поделиться

Вы знаете, сколько необходимо было бы переписать, если бы Вы просто вернулись к Java 5? Если Вы изменяете настройки JDK в своем IDE, и попытка перекомпилировать его должна дать Вам довольно хорошую идею о том, насколько большой изменения на самом деле были бы. Для большинства разработчиков Java 6 действительно не предложил слишком много в способе новых функций/API, но я предполагаю, что возможно, что Ваш проект зависит в большой степени от чего-то, что было добавлено.

1
ответ дан 5 December 2019 в 13:02
поделиться

По моему опыту, это столь легко, что скуление занимает больше времени, чем выполнение. Существует очень немного вещей в 1,6, который не может быть бэкпортирован приблизительно с одной минутой (буквально) ценность работы. Сколько ошибок компиляции Вы видите при попытке его 1,5, и что для?

Следует иметь в виду, что там легко доступны, совместимый API, бэкпорты низкого места для нескольких вещей, которые полезны в 1,6 (SwingWorker).

2
ответ дан 5 December 2019 в 13:02
поделиться

Вы смогли бэкпортировать дополнительные библиотеки от Java 6 до Java 5, но я предполагаю, что это было бы скорее больше проблемы, что это стоит. Intel Macs с 64-разрядными процессорами (так не исходный Мини-Intel Mac) рабочий Leopard имеет Java 6, поэтому возможно, Вы могли просто быть нацелены на них?

-1
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: