JSP Struts标签< s:submit>和Struts jQuery标签有什么区别< sj:submit>?

raogr8fs  于 2023-10-14  发布在  jQuery
关注(0)|答案(3)|浏览(134)

Struts标记<s:submit>和Struts jQuery标记<sj:submit>都以相同的方式提交。我的意思是,他们刷新页面,并转发到另一个页面。但是我认为Struts jQuery标签实现了Ajax,所以页面在提交时不应该被改变。我说的对吗
我在表单中实现了这两个标签,而提交两者的工作方式相同。

<s:form action="part!list" >
  <s:submit  action="part" method="list" />
</s:form>

<s:form action="part!list" >
  <sj:submit />
</s:form>

如果我使用<sj:submit>它工作,但我添加一些struts标签按钮<s:submit>在相同的形式,那么它不工作。那么,Struts标记不起作用了?

omjgkv6w

omjgkv6w1#

您可能忘记在<head>的主体中包含<sj:head/>标记。这个标签将JQuery stylesheet链接到页面和其他初始内容,没有它就不会进行Ajax调用。参见正确提交<sj:submit>的示例。
如果您通过<sj:submit>标记进行Ajax调用,则页面不应刷新,但targets可以在成功的结果中更新。如果在页面的头部没有包含JQuery,我认为表单不会发出任何HTTP请求,它的行为就像你没有包含action属性一样。

b4qexyjb

b4qexyjb2#

只需在表单标签中添加id属性,并在<sj:submit>标签中添加targets属性。

<s:form id="myForm" action="part!list">
  <sj:submit targets="result"/>
</s:form>
kokeuurv

kokeuurv3#

如果不需要触发一个apache调用,则应该使用<s:submit/><s:submit/>使用html机制来提交表单,但是<sj:submit />正在进行一个apache调用,查看源代码HERE,它解释了它是如何工作的。如果你需要这个表单来进行一个aplog调用,那么就像@AleksandrM说的那样,定义属性targets = "result",那么你应该有像<div id="result"/>这样的东西,它包含aplog调用的结果。

相关问题