2

次のエラーが発生しています: java.lang.IllegalStateException: getInputStream() は、Struts2 で JSON を実装しているときに、この要求に対して既に呼び出されています。例外:

org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: 
    java.lang.reflect.InvocationTargetException
        org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
        org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
        org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
        org.apache.struts2.json.JSONWriter.write(JSONWriter.java:94)
        org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:115)
        org.apache.struts2.json.JSONResult.createJSONString(JSONResult.java:197)
        org.apache.struts2.json.JSONResult.execute(JSONResult.java:170)
        com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:374)
    ...........

java.lang.IllegalStateException: getInputStream() has already been called for this request


org.apache.catalina.connector.Request.getReader(Request.java:1242)
    org.apache.catalina.connector.RequestFacade.getReader(RequestFacade.java:506)
    javax.servlet.ServletRequestWrapper.getReader(ServletRequestWrapper.java:212)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:210)
    org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
    org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
    org.apache.struts2.json.JSONWriter.add(JSONWriter.java:355)
    org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
    org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
    org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
    org.apache.struts2.json.JSONWriter.write(JSONWriter.java:94)
    org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:115)
    org.apache.struts2.json.JSONResult.createJSONString(JSONResult.java:197)
    org.apache.struts2.json.JSONResult.execute(JSONResult.java:170)

.........

この問題で立ち往生しているため、このエラーで親切に助けてください。いくつか質問があります。ServletRequestAware を実装し、同じものを使用して userLocale を取得しました。JSONWriter オブジェクトと競合していますか。

4

1 に答える 1

5

Struts の 2.x バージョンを使用していると仮定しています。同じ問題に直面し、Struts に既存のバグが 1 つ見つかりました -ここで説明します

実際、RequestAware または SessionAware のアクションは、セッションとリクエストの自動バインドを行います。アクションからリクエストのゲッターを削除したところ、問題なく動作し始めました。

于 2012-11-21T15:12:11.550 に答える