0

Struts 标签<s:submit> <sj:submit>工作在同一个表单上吗?我已经有了 Struts 按钮<s:submit>,但现在我已经添加了<sj:submit>

因此,Struts 2 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"/>
4

1 回答 1

1

<s:submit><s:form>如果表单位于or<form>标记的主体内,则与表单一起使用。要使其正常工作,请使用该action属性将表单映射到操作。您还可以使用<s:url>构建action表单属性中使用的 url,即使使用参数也能正确构建 url。但是,如果您在<s:submit>标签中映射操作,那么您只需要使用一个属性actionmethod. 这些是动作映射器使用的特殊参数。在第一种情况下,表单action将被覆盖,在第二种情况下,操作方法将被覆盖。这意味着标签中的属性和action属性仅用于覆盖默认的表单动作映射。很少用,需要DMImethod<submit>,如果您有多个具有不同方法的按钮,请考虑使用该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在第一种情况下使用actin命名part2提交,第二个动作名称part和方法list2,第三个是默认动作名称part和方法list Ajax调用像第三种情况一样。

如果您的操作映射到方法上list,那么您可以通过以下方式简化 url

<s:url var="myUrl" action="part"/>
于 2013-07-03T17:46:52.930 回答