Freemarker с пружинным MVC, так на что же будет похоже мое действие?

Это мой метод:

import math

def isPrime(n):
    'Returns True if n is prime, False if n is not prime. Will not work if n is 0 or 1'

    # Make sure n is a positive integer
    n = abs(int(n))

    # Case 1: the number is 2 (prime)
    if n == 2: return True

    # Case 2: the number is even (not prime)
    if n % 2 == 0: return False

    # Case 3: the number is odd (could be prime or not)

    # Check odd numbers less than the square root for possible factors 
    r = math.sqrt(n)
    x = 3 
    while x <= r:
        if n % x == 0: return False  # A factor was found, so number is not prime
        x += 2 # Increment to the next odd number

    # No factors found, so number is prime  
    return True 

Чтобы ответить на исходный вопрос, n ** 0.5 совпадает с квадратом корня из n . Вы можете остановить проверку факторов после этого числа, потому что композитный номер будет всегда иметь коэффициент меньше или равен его квадратному корню. Это быстрее, чем просто проверка всех факторов между 2 и n для каждого n, поскольку мы проверяем меньшее количество чисел, что экономит больше времени с ростом n.

1
задан Blankman 28 June 2010 в 20:21
поделиться

2 ответа

Контроллеры не должны знать о Freemarker, они должны просто выглядеть как любой другой контроллер, создавая ModelAndView или ModelMap , как обычно. FreeMarkerViewResolver берет имя представления, содержащееся в ModelAndView , и разрешает его внутри объекта Freemarker Template , визуализируя в него вашу модель. Вся конфигурация FreeMarker является внутренней для FreeMarkerViewResolver

. Если ваш контекст не подключен правильно, то FreeMarkerViewResolver выдаст исключение для этого эффекта, но вам, конечно, не требуется никакая конфигурация FreeMarker в ваши контроллеры.

2
ответ дан 2 September 2019 в 23:26
поделиться

Вам не нужен freemarkerConfig, я думаю. Просто немного измените ваш view resolver:

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="cache" value="true"/>
    <property name="prefix" value="/WEB-INF/freemarker/"/>
    <property name="suffix" value=".ftl"/>
    <property name="exposeSpringMacroHelpers" value="true"/>
</bean>

Теперь, если вы откроете hppt://localhost:8080/app/index, вы получите рендеринг /WEB-INF/freemarker/index.ftl

0
ответ дан 2 September 2019 в 23:26
поделиться
Другие вопросы по тегам:

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