0

我写了一个这样的提交按钮:

<s:submit type="button" value="Delete" action="%{notesDeleteUrl}" theme="simple"/>

我已经像这样定义了网址。

<s:url value="notesDeleteAction.action" id="notesDeleteUrl" >
<s:param name="noteId"><s:propertyvalue="iNote" />    </s:param>                                   
</s:url>

所以基本上,我的 JSP 上没有 < s:form > 标记,但我需要在向其传递值时使用提交按钮调用操作。我得到这个错误。

  • 没有为命名空间 [/] 映射的操作和与上下文路径 [/abc] 关联的操作名称 [notesDeleteAction?noteId=48]。

所以我知道由于添加了参数,它无法解析动作,但是我怎么能将此值发送给动作呢?

4

1 回答 1

0

您的错误与参数无关。Struts 不知道如何处理 URL /notesDeleteAction

您需要在 struts.xml 文件中包含该操作:

<package name="yourpackage" namespace="/" extends="struts-default">
  <action name="notesDeleteAction" class="foo.YourClass">
    <result>somepage.jsp</result>
  </action>
</package> 

有两种方法可以在你的类中获取参数, foo.YourClass

一种方法是:

Map parameters = ActionContext.getContext().getParameters();

另一种方法是让你类实现 org.apache.struts2.interceptor.ParameterAware

于 2013-04-05T13:48:33.160 回答