我正在使用基于struts2的应用程序 在我提交表单的JSP页面中,必须使用s:form(预定义的struts组件)
因为当我尝试这种方式时它起作用(在struts.xml下调用Action类)
<s:form action="HelloWorld" >
<s:submit />
</s:form>
但是当我尝试使用正常表单提交时如图所示
<form action="HelloWorld">
<input type="Submit"/>
</form>
它没有用,它给了我404错误。
请告诉我是否必须使用和提交数据?
答案 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标签提供的。