-1

我已将注释配置为将值作为文本返回。但它给了我错误:could not find action or result.

控制台错误:

org.apache.struts2.dispatcher.Dispatcher - Could not find action or result
/part!finder.xhtml
No result defined for action action.PartAction and result success

行动:

@Action(value="part!finder", results = {
    @Result(name="SUCCESS", type="stream", params = {"contentType", "text/html", "inputName", "inputStream"}),
    @Result(name="success", type="stream", params = {"contentType", "text/html", "inputName", "inputStream"})
}) 
public String finder() {
  try {
    inputStream = new ByteArrayInputStream(finder1().getBytes());
  }
  catch(Exception e) { }
    return SUCCESS;
  }
}
4

2 回答 2

1

将动作名称(注​​解中的一个value属性)更改为. 是用于分隔 URL 中的操作名称和方法名称的特殊字符。但不在动作映射中。通过添加动作名称映射,您可以使您的动作无法访问到正在搜索包含不带. 此字符将操作名称和方法名称分开,因此它在您的操作配置中是不适当的映射。@Actionvalue="part"!!!

顺便说一句,在构建 URL 并且您已打开DMImethod (默认情况下已打开)时,最好使用属性urlsubmit标记,并且将在呈现 JSP 后创建映射到您的操作的正确 url(结果已处理)。您可以检查输出到浏览器的 HTML 以查看页面的源 HTML 代码。您可能会发现映射到(非默认)方法的操作以!符号为前缀。您可以显式地或通过标签将该方法添加到操作 URL 以执行与操作映射以外的方法。

于 2013-06-19T16:47:07.067 回答
0

如果您使用 DMI,请@Action课程级别申请,然后让 DMI 完成其余工作。

如果您在动作级别进行注释,请声明一个唯一的动作名称并且不要使用 DMI。

(或它的语法;它令人困惑。)

于 2013-06-19T13:19:06.157 回答