質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1324閲覧

処理を一つにまとめたい

Yoshi--

総合スコア62

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/05/31 02:23

CountViewModel.java

java

1package model; 2 3public class CountViewModel { 4 5 private int followCount; 6 private int followerCount; 7 private int favoriteCount; 8 9 public CountViewModel(int followCount, int followerCount, int favoriteCount) { 10 this.followCount = followCount; 11 this.followerCount = followerCount; 12 this.favoriteCount = favoriteCount; 13 } 14 15 16 public int getFollowCount() {return followCount;} 17 public int getFollowerCount() {return followerCount;} 18 public int getFavoriteCount() {return favoriteCount;} 19 20} 21

CountLogic.java

java

1package model; 2 3import dao.FavoriteDAO; 4import dao.FollowDAO; 5 6public class CountLogic { 7 8 // フォロー数 9 public int executeFollow(int userId) { 10 FollowDAO dao = new FollowDAO(); 11 int followCount = dao.getFollowCount(userId); 12 return followCount; 13 } 14 15 // フォロワー数 16 public int executeFollower(int userId) { 17 FollowDAO dao = new FollowDAO(); 18 int followerCount = dao.getFollowerCount(userId); 19 return followerCount; 20 } 21 22 // お気に入り数 23 public int executeFavoriteCount(int userId) { 24 FavoriteDAO dao = new FavoriteDAO(); 25 int favoriteCount = dao.getFavoriteCount(userId); 26 return favoriteCount; 27 28 } 29 30} 31

CountLogic.javaで

followCount,followerCount, favoriteCount

CountViewModel型として一つにまとめたい場合
はどんな風に書けばいいのでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CountViewModel型として取得したいという前提で。
例外など考慮していないので、必要でれば都度例外処理。

java

1public class CountLogic { 2 3 // 質問のコードが既に実装されている状態 4 5 public CountViewModel executeCountData(int userId){ 6 return new CountViewModel( 7 this.executeFollow(userId) 8 ,this.executeFollower(userId) 9 ,this.executeFavoriteCount(userId) 10 } 11 12}

投稿2017/05/31 02:35

kanimaru

総合スコア1013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yoshi--

2017/05/31 02:51 編集

ありがとうございます。 これを取得し、リクエストスコープに保存するときは CountLogic countLogic = new CountLogic(); CountViewModel countDate= countLogic.executeCountDate(loginUser.getUserId()); request.setAttribute("countDate", countDate); こんな感じでしょうか??
kanimaru

2017/05/31 02:58 編集

requestが何型かは分かりません。setAttributeが書いてあるので恐らくServletRequestインタフェースを実装したHttpServletRequestかと思いますが。 その場合は、上記コード格納できるかと思います。ただ、Objectとして格納するので利用時はキャスト必須です。jspとかならXMLにかけると思いますけど。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問