Struts2:使用表单操作

时间:2011-09-12 14:46:49

标签: struts2

我正在使用基于struts2的应用程序 在我提交表单的JSP页面中,必须使用s:form(预定义的struts组件)

因为当我尝试这种方式时它起作用(在struts.xml下调用Action类)

 <s:form action="HelloWorld" >
            <s:submit />
        </s:form>

但是当我尝试使用正常表单提交时如图所示

<form action="HelloWorld">
<input type="Submit"/>
</form>

它没有用,它给了我404错误。

请告诉我是否必须使用和提交数据?

4 个答案:

答案 0 :(得分:2)

struts表单操作和HTML标记表单操作是不同的。如果你创建一个特定于struts的URL,你可以使用带有struts的标准HTML表单标签(在我的脑海中):

如果在多个地方使用,请生成网址并像这样调用 -

<s:url id="myActionUrl" action="HelloWorld" />

<form action="<s:property value="%{myActionUrl}" />">
    <input type="Submit"/>
</form>

或在单个实例中使用 -

<form action="<s:url id="myActionUrl" action="HelloWorld" />">
    <input type="Submit"/>
</form>

您经常可以在浏览器中查看页面源,以查看Struts生成的内容,并像这样手动重新创建。您最终会使用其他struts标记(如属性)从值堆栈中检索值,但有时它很有用,例如动态生成JavaScript代码时。

答案 1 :(得分:1)

不,使用任何S2标签并非强制性,但正如Russell所说,您需要复制正确的操作URL。

在将S2表单标记与非S2 HTML表单标记混合和匹配时,您还需要小心,因为默认的S2主题会向页面添加额外的HTML标记;他们只创建表单标签 - 默认主题使用表格标签来布置表单。

答案 2 :(得分:1)

您可以使用s:form表格和

<input type="Submit"/>

可以替换为

<button type="submit"/>

答案 3 :(得分:0)

它不是关于使用它,它是你想要的.Struts2标签为表单提供了额外的功能。

请通过以下两个链接获取差异

1] http://struts.apache.org/release/2.1.x/docs/form-tags.html
2] http://www.w3schools.com/tags/tag_form.asp

一些工具,如命名空间,工具提示,tooltipIconPath等,都是由struts2标签提供的。