【发布时间】:2009-08-05 18:01:35
【问题描述】:
尽管是 POST 表单,但我们的 JBoss 表单在 URL 中而不是在请求中发布参数。我已确认该表单已使用 Firebug 在实际页面中发布。请注意,这是在一个 portlet 中。
我们正在使用 javascript 提交表单,例如:
function submitForm(action, time)
{
document.getElementById("pageActionInputID").value = time;
document.getElementById("timeSpanFormInputID").value = action;
document.getElementById("formID").submit();
}
<form action="<portlet:actionURL></portlet:actionURL>" method="POST" id="formID">
<input type="hidden" name="pageAction" id="pageActionInputID" />
<input type="hidden" name="timeSpan" id="timeSpanFormInputID" />
</form>
“portlet”的来源
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
知道为什么我们会在 URL 中获取输入吗?
生成的标记如下所示:
<form id="formID" method="post" action="/portal/auth/portal/myTab?action=1">
<input id="pageActionInputID" type="hidden" name="pageAction"/>
<input id="timeSpanFormInputID" type="hidden" name="timeSpan"/>
</form>
【问题讨论】:
-
表单的 HTML 输出是什么样的?
-
表格看起来很标准(见编辑)。我认为这是因为我们正在使用 portlet,它会丢弃 post/get 并使用操作 URL。谁能证实这一点?
标签: jboss double-submit-prevention