submit tag's 'action' property is ignored if enclosing form uses 'ajax' theme
(form serialization/dojo problem)
---------------------------------------------------------------------------------------------------------------
Key: WW-1919
URL: https://issues.apache.org/struts/browse/WW-1919
Project: Struts 2
Issue Type: Bug
Components: Views
Affects Versions: 2.0.6
Environment: Reproduceable on: Firefox 2.0.0.3, Opera 9.20, Internet
Explorer 7.0.5730.11
Reporter: Jaunius Belickas
When using <s:form with 'ajax' theme, <input type="submit" ../> fields are not
submitted (not serialized), so "action" attribute of "<s:submit ..>" tag is not
effective and default form action is used.
query string extracted from HTTP headers: someHiddenFldName=val&
After removing "theme" attribute from "<s:form ..>" tag, HTML input tag's are
submitted as expected. Query string from HTTP headers:
someHiddenFldName=val&action%3Afirst=first
------------------------------------------------------------------------
test.jsp:
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
<s:head theme="ajax"/>
</head>
<body>
<s:form method="post" id="someForm" action="test" theme="ajax">
<s:hidden name="someHiddenFldName" value="val"></s:hidden>
<s:submit
value="first"
action="first" />
<s:submit
value="second"
action="second" />
</s:form>
</body>
</html>
struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
<action name="test" class="test.TestAction" method="test">
<result name="SHOW">jsp/test.jsp</result>
</action>
<action name="first" class="test.TestAction" method="first">
<result name="SHOW">jsp/test.jsp</result>
</action>
<action name="second" class="test.TestAction" method="second">
<result name="SHOW">jsp/test.jsp</result>
</action>
</package>
</struts>
TestAction.java:
package test;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class TestAction {
private static final long serialVersionUID = -1918535468057675686L;
private static final Log log = LogFactory.getLog(TestAction.class);
public String test()
{
log.debug("=============");
log.debug("[ DEFAULT ] ACTION");
log.debug("=============");
return "SHOW";
}
public void first()
{
log.debug("=============");
log.debug("FIRST ACTION");
log.debug("=============");
}
public void second()
{
log.debug("=============");
log.debug("SECOND ACTION");
log.debug("=============");
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.