Struts标记<s:submit>
和<sj:submit>
是否在同一表单上运行?我已经有Struts按钮<s:submit>
,但现在我添加了<sj:submit>
。所以,Struts2-jQuery插件按钮运行良好,但Struts <s:submit>
无效。
<head>
<sj:head/>
</head>
<s:form id="myForm" action="part!list">
<s:submit action="part" method="list" />
</s:form>
<sj:submit targets="result" formId="myform"/>
请澄清......
答案 0 :(得分:1)
<s:submit>
适用于表单,如果它位于<s:form>
或<form>
标记的正文中。要使其正常工作,请使用action
属性将表单映射到操作。您还可以使用<s:url>
构建在表单的action
属性中使用的网址,即使使用参数也能正确构建网址。但是,如果您在<s:submit>
代码中映射操作,那么您只需使用一个属性action
或method
。这些是动作映射器使用的特殊参数。在第一种情况下,将覆盖表单action
,在第二种情况下,将覆盖操作方法。这意味着action
标记中的属性method
和<submit>
仅用于覆盖默认的表单操作映射。它很少使用,需要DMI,如果你有多个具有不同方法的按钮,请考虑使用method
属性来覆盖表单动作映射。
修改强>
实施例
<head>
<sj:head/>
</head>
<s:url var="myUrl" action="part" method="list"/>
<s:form id="myForm" action="%{#myUrl}" method="POST">
<s:submit action="part2" />
<s:submit method="list2" />
<s:submit />
</s:form>
<sj:submit targets="result" formId="myForm"/>
第一种情况中的上述s:submit
使用名为part2
的肌动蛋白提交,
第二个操作名称part
和方法list2
,
第三个是默认操作名称part
和方法list
Ajax称之为第三种情况。
如果您的操作已映射到方法list
,那么您可以通过
<s:url var="myUrl" action="part"/>