0

私の要件は、Jsonオブジェクトのキーと値のペアに値またはリストを配置する必要があることです.Javaクラスでこのようなことをしましたが、Javaスクリプトを介してJavaクラスで使用される同じJsonオブジェクトを取得する方法を理解できませんjspページで。問題を解決してください

import org.json.simple.JSONObject;
class BeanManager{
    private JSONObject jsonObject;
    public JSONObject getJson()
    {
        jsonObject=new JSONObject();
        jsonObject.put("name","jack Daniel");
        jsonObject.put("age","3");
    }
}
4

2 に答える 2

0

JSP で JSON コンテンツを html ノードにアタッチし、JavaScript でノード コンテンツを読み取り、それらを JS オブジェクトとして評価します。

このような解決策は、一時的なものとしてのみ役立つ場合があります。別の使い方を検討する

于 2013-07-23T10:07:07.057 に答える
0

JSP に転送する前にクラス インスタンスをリクエスト属性としてアタッチし、後でそれをビューで使用します。また、getter でビジネス ジョブを実行しないように注意してください (必要に応じてオブジェクトを返します)。

全体として、クラス コードは次のようになります。

クラスBeanManager{

private JSONObject jsonObject;
private String jsonObjectString;

public BeanManager() {
    jsonObject=new JSONObject();
    jsonObject.put("name","jack Daniel");
    jsonObject.put("age","3");
    jsonObjectString = jsonObject.toString();
}

public JSONObject getJsonObjectString() {
    return jsonObjectString;
}

}

関連するサーブレット部分は次のようになります。

BeanManager bm = new BeanManager();//manipulate it the way you want
request.setAttribute("bean", bm);
request.getRequestDispatcher("/WEB-INF/view.jsp").forward(request, response);

ビューには、次の部分を含めることができます。

<script>
    var json = ${bm.jsonObjectString};
</script>

このようにして、json 変数は JavaScript コンテキストで使用できるようになります。

AJAX リクエストを処理したい場合は、How to use Servlets and Ajax? をご覧ください。質問とその答え。そこでは、JSON オブジェクトがサーブレットから返され、後で HTML ドキュメントに解析されます。

于 2013-07-23T10:21:56.057 に答える