Область применения ФОРМА всегда пуста? URL-адрес в порядке?

Я использую устаревшее приложение CF Fusebox 5.5 в Railo 4.0.2.002 Express с Jetty 8 на Mac OS X 10.8 с Java 1.7. Я также использую Jetty urlrewrite http://tuckey.org/urlrewrite/ (если это актуально)

Почему FORM область всегда пуста при отправке формы? Но если я использую URL сфера работает отлично.

Приложение отлично работает во всех других версиях CF и должно также работать здесь.

ОБНОВЛЕНИЕ 1:
Кроме того, когда я делаю onRequestStart в Application.cfc и я бросаю FORM Объем там тоже пусто.

У кого-нибудь есть проблемы с этим? Я не думаю, что это обязательно "fusebox", поэтому мне интересно, если это проблема совместимости с Railo 4?

ОБНОВЛЕНИЕ 2:
Когда форма отправляет сообщение в /admin/index.cfm?event=Main.Login
форма работает нормально. Но когда он публикует в /admin/event/Main.Login, область действия формы исчезает.

<?xml version="1.0" encoding="utf-8"?>

 <!DOCTYPE urlrewrite
     PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
     "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">

<urlrewrite>
    <rule>
        <from>^/admin/event/(.*)</from>
          <to last="false">/admin/index.cfm?event=$1</to>
    </rule>
  <rule>
      <from>^/lms/event/(.*)</from>
      <to last="false">/lms/index.cfm?event=$1</to>
  </rule>
</urlrewrite>

ОБНОВЛЕНИЕ 3:
Следует также отметить, что Чарльз (прокси-сервер) правильно обнаруживает, что "запрос POST" содержит адрес электронной почты / пароль и другие элементы формы, правильно отправленные на сервер.
Сервер Jetty просто не видит их или неправильно перенаправляет их на движок Railo или что-то в этом роде?

ОБНОВЛЕНИЕ 4:
Вот конфигурация тукки, которую они говорят вам разместить в вашем web.xml, Я на самом деле поместил это в webdefault.xml в etc/ каталог Railo Express, который, я думаю, может быть просто файлами Jetty.

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

1 ответ

У меня был ряд проблем с Tuckey, и в итоге я использовал Apache и modrewrite для функций, которые Tuckey просто не поддерживал. При этом Railo + Tomcat/Jetty не является ColdFusion с Jrun, и конфигурация была сложной задачей, чтобы гарантировать, что mod_rewrite имеет всю информацию о запросе и даже имеет запрос вообще. Даже Adobe пришлось исправлять CF10 после выпуска, потому что им не хватало оригинальной функциональности в разъемах CF9-+JRUN.

Тем не менее, для вашего решения, вам нужно протянуть руку и из. Смотрите тему здесь.

https://groups.google.com/forum/

У других людей есть такая же проблема, и они обошли ее, поместив в onRequestStart:

<cfscript>
    if(gethTTPRequestData().method eq "POST") {
            if(NOT structKeyExists(form,"fieldnames")) {
                    var paramMap = getPageContext().getRequest().getParameterMap();
                    var paramMapKeys = structKeyList(paramMap);
                    form.fieldnames = paramMapKeys;
                    for(x =1; x lte listLen(paramMapKeys); x++) {
                            param = listGetAt(paramMapKeys,x);
                            form[param] = paramMap[param][1];
                    }
            }
    }
</cfscript>

Не ясно, если это ошибка в Jetty, Railo или Tuckey.

Другие вопросы по тегам