山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

そんなことしなくてもよかった

JacksonもOGNLもいりませんでした。

mongodb標準のJavaDriverとJSP標準のELだけで十分です。


<%
DBObject shouhin = shouhinCollection.findOne();
request.setAttribute("shouhin", shouhin);
%>
${shouhin.name}

${shouhin.price}

${shouhin.comment}

${shouhin.review.review1}

${shouhin.review.review2}

${shouhin.review.review3}



こんな具合で。実に簡単です。

データの入れ方もいろいろあることがわかりました。

BasicDBObjectBuilderを使う方法。

DBObject shouhinInfo = BasicDBObjectBuilder
.start("name", "マンゴープリン").add("price", 1200)
.add("comment", "おいしいよ!").push("review")
.add("review1", "おいしかった。").add("review2", "サイコー").get();
shouhinCollection.insert(shouhinInfo);

流れるようなインターフェースですね。

JSON.parse()を使う方法。

shouhinInfo = (DBObject)JSON.parse("{'name':'ラー油鍋','price':'3000','comment':'有名レストランの鍋','review':{'review1':'辛い','review2':'すごく辛い','review3':'まあまあ辛い'}}");

JavaScript同様に書けますが

カッコやらシングルコーテーションの対応をちゃんとしないと

いけないので逆にめんどくさいという話もあります。

JavaShift_JISでデータを入れたときにコマンドライン

見ると文字化けするのでその対処方法を知っている人がいたら

教えてほしいです。