struts2 action中返回InputStream的方法会被自动执行

ACTION中有一个返回INPUTSTREAM的方法
[code="java"]
public InputStream getInputStream() throws BeansException, Exception {
// System.out.println(contentDisposition);
// InputStream in =
// ServletActionContext.getResponse().getWriter().getResourceAsStream("");
// System.out.println(in.toString());
Document doc = DocumentHelper.createDocument();
doc.setXMLEncoding("utf-8");
Element root=doc.addElement("WuPing");
Element jiegou=root.addElement("JieGou");
//
return new ByteArrayInputStream(doc.asXML().getBytes());

}

[/code]

为什么执行其他方法每次都会调用到这个方法?

[quote]改成PRIVATE就不会了[/quote]
如果你还想把它写成 public 的,那建议你把它重命名一下。估计是反射的时候找向了你的这个方法。

你搜索一下本action或者父action 哪里调用了这个getInputStream方法。

贴出你与这个方法有关的配置看看呢

应该是有某个地方调用了,把public改成private看看哪些地方调用了

肯定有哪个地方调用了的,100%的,lz小心的检查下罗哦。

你可以查看一下哪些地方调用了你的这个 getInputStream() ,比如,有A B C三个方法,然后再去查看一下哪些地方调用了A B C 这几个方法,如此循环,肯定是有一个地方总是间接的一直调用了你的 getInputStream() 方法

[quote]不是某个地方误调用了,是任何其他操作都会错误的自动调用这个方法,改成PRIVATE就不会了,但是没有明白原因。 [/quote]
你搜索一下方法名,估计是用反射调用的。直接用名字调用。