Область применения ФОРМА всегда пуста? 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.