我有一个问题,但我无法找到解决问题的方法。
<s:form name="form1" method="post" action="products" theme="simple">
<s:hidden name="code" value="%{code}"/>
<s:submit type="button" name="method:selectSale" value="goPage"/>
</s:form>
此代码没有问题。
但是,我想用“锚”而不是“提交”标签。我只想使用超链接和'post'方式,而不是'get'。我怎样才能做到这一点?
<s:form name="form1" method="post" action="products" theme="simple">
<s:hidden name="code" value="%{code}"/>
<a href="#" onclick="javascript:document.form1.submit()">goPage</a>
</s:form>
它不起作用。
主要问题是如何获得“方法:selectSale”。
在struts.xml中,
<action name="products" class="sample.ProductsAction">
<result>abc.jsp</result>
</action>
然后,在ProductsAction.java中,
public String selectSale() throws Exception {
// ~~~
return "selectSale"
}
好的,现在,我有一个问题。
我必须在哪里放"selectSale"
代码? (使用<s:a>
或<a:>
)
答案 0 :(得分:0)
简单的方法是在表单上设置ID属性,并在锚点的onclick中使用document.getElementById(formID).submit()。
答案 1 :(得分:0)
action="products?method:selectSale"
答案 2 :(得分:0)
我们走了
<s:url action="abc" method="mymethod"></s:url>
如果你想传递一些查询字符串参数,可以随时使用<s:param>
<s:url action="abc" method="mymethod">
<s:param name="id" value="%{myvalue}" />
</s:url>
这是一个struts2标记的内置版本,它将解析你的struts配置文件中定义的URL和方法
将struts配置文件定义为
<action name="products" class="sample.ProductsAction" method=mymethod>
<result>abc.jsp</result>
</action>
希望它能帮助你
答案 3 :(得分:0)
第1步
将struts.xml中的操作定义更改为:
<action name="products" class="sample.ProductsAction" method="selectSale">
第2步
我猜你的javascript中可能会遇到以下错误之一:
Submit is not a function in js
http://forums.hscripts.com/viewtopic.php?f=8&t=3268
"Submit is not a function" error in JavaScript
虽然三者都指向同一解决方案。现在,只需在</s:form>
之外定义锚标记,并确保没有name=submit
的元素
如果仍然无效,请将javascript更改为
document.forms["form1"].submit();