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

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

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

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

Q&A

3回答

1578閲覧

ソースの意味(spring)

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2015/07/04 04:15

ソースの前後は省略しますが、ショッピングサイトを作成する下記コードで
nullを入れている意味がよく分かりません。
ご教授ください。

List<String> itemListAll = shoesLogic.getAllShoesISBNs();
itemListView = shoesLogic.createVShoesList( itemListAll, null);

httpSession.setAttribute("ItemList" , itemListAll);
httpSession.setAttribute("ItemListView", itemshoesListView);

return("LoginSuccess");

isbnsがあるリストを全件取得して、リストをヌルで渡しているのでしょうか?
実際のリストは、全件表示される仕様になっていて2行目のところのなぜnull指定しているかが分かりません。

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

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

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

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

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

eripong

2015/07/04 04:30

shoesLogic.createVShoesListがどの様な実装かを記述できないでしょうか? それ無しでは回答は難しいと思います。
退会済みユーザー

退会済みユーザー

2015/07/04 07:27

的確な情報か分かりませんがisbn番号,shoes名,価格のテーブルを持っています。購入するチェックが入っている商品のisbn番号からshoes名を紐つけてListとして持つようになっています。
eripong

2015/07/04 07:36

こちらの書き方が不明確だったようですみません。 第二引数をメソッド内でどう使っているかを知るために、 shoesLogic.createVShoesListのコードをそのまま貼ってもらいたい、 という意味でした。
退会済みユーザー

退会済みユーザー

2015/07/05 01:34

関係するソースをすべて記入しました。よろしくお願いします。 ①LoginAction.java package shoes.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import org.apache.struts2.interceptor.ServletRequestAware; import shoes.logic.shoesLogic; import shoes.logic.CustomerLogic; import shoes.vbean.Vshoes; @Results({ @Result(name="LoginSuccess", location="shoes.vm", type="velocity"), @Result(name="LoginFault", location="/index.jsp") }) public class LoginAction implements ServletRequestAware { CustomerLogic customerLogic; shoesLogic shoesLogic; private HttpServletRequest request; private List<Vshoes> itemListView; private String account; private String passwd; private String errorMessage; @Action("/Login") public String login() { if (!customerLogic.isPasswordMatched(getAccount(), getPasswd())) { setErrorMessage("ログイン名とパスワードが違います"); return ("LoginFault"); } setErrorMessage(null); HttpSession httpSession = request.getSession(false); if (httpSession != null) { httpSession.invalidate(); } httpSession = request.getSession(); httpSession.setAttribute("Login", getAccount()); List<String> itemListAll = shoesLogic.getAllshoesISBNs(); itemListView = shoesLogic.createVshoesList(itemListAll, null); httpSession.setAttribute("itemList", itemListAll); httpSession.setAttribute("itemListView", itemListView); return ("LoginSuccess"); } public void setCustomerLogic(CustomerLogic customerLogic) { this.customerLogic = customerLogic; } public void setshoesLogic(shoesLogic shoesLogic) { this.shoesLogic = shoesLogic; } public void setServletRequest(HttpServletRequest inRequest) { this.request = inRequest; } public List<Vshoes> getitemListView() { return itemListView; } public void setitemListView(List<Vshoes> itemListView) { this.itemListView = itemListView; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } } ②VShoes.java package shoes.vbean; import java.io.Serializable; import shoes.pbean.TShoes; public class VShoes implements Serializable { private String isbn; private String shoes; private int price; private boolean selected; public VShoes(){} public VShoes (TShoes Shoes) { this.isbn = Shoes.getIsbn(); this.Shoes = Shoes.getShoes(); this.price = Shoes.getPrice(); this.selected = false; } public String getIsbn() { return this.isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getShoes() { return this.Shoes; } public void setShoes(String Shoes) { this.Shoes = Shoes; } public int getPrice() { return this.price; } public void setPrice(int price) { this.price = price; } public boolean isSelected() { return selected; } public void setSelected(boolean selected) { this.selected = selected; } } ③ShoesLogin.java package shoes.logic; import java.util.ArrayList; import java.util.List; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Propagation; import shoes.dao.ShoesDAO; import shoes.pbean.TShoes; import shoes.vbean.VShoes; import shoes.vbean.VCheckout; @Transactional(readOnly = true, propagation = Propagation.REQUIRED) public class ShoesLogicImpl implements ShoesLogic{ ShoesDAO Shoesdao; public List<String> getAllShoesISBNs() { List<String> isbns = new ArrayList<String>(); for (TShoes ShoesIter : Shoesdao.retrieveShoesByISBNs(null)) { isbns.add( ShoesIter.getIsbn() ); } return( isbns ); } public List<String> retrieveShoesISBNsByKeyword(String inKeyword) { List<String> isbns = new ArrayList<String>(); for (TShoes ShoesIter : Shoesdao.retrieveShoessByKeyword(inKeyword)) { isbns.add(ShoesIter.getIsbn()); } return(isbns); } public List<VShoes> createVShoesList(List<String> inItemList, List<String> inSelectedList) { List<VShoes> vArrayList = new ArrayList<VShoes>(); for(TShoes ShoesIter : Shoesdao.retrieveShoesByISBNs(inItemList)) { VShoes currentVShoes = new VShoes(ShoesIter); currentVShoes.setSelected(false); if (inSelectedList != null && inSelectedList.size() != 0){ if (inSelectedList.contains(ShoesIter.getIsbn())) { currentVShoes.setSelected(true); } } vArrayList.add(currentVShoes); } return (vArrayList); } public VCheckout createVCheckout(List<String> inSelectedList) { VCheckout vc = new VCheckout(); vc.setTotal(Shoesdao.getPriceByISBNs(inSelectedList)); List<VShoes> viewList = new ArrayList<VShoes>(); for (TShoes iterShoes : Shoesdao.retrieveShoessByISBNs(inSelectedList)) { VShoes vb = new VShoes(iterShoes); vb.setSelected(true); viewList.add( vb ); } vc.setSelecteditems(viewList); return (vc); } public List<String> createCart(List<String> inItemList, List<String> inSelectedList,List<String> inCart){ inCart.removeAll(inItemList); if (inSelectedList != null && inSelectedList.size() != 0) { inCart.addAll(inSelectedList); } return (inCart); } public void setShoesdao (ShoesDAO Shoesdao){ this.Shoesdao = Shoesdao; } }
eripong

2015/07/05 03:04

これはちょっと読みにくいですね。 一応、こちらでコピーして整形しましたが、このような場合は、質問を編集して、 ヘルプにあるマークダウンの「コードを入力」を使って整形した結果を追加してもらえると、 助かります。 ヘルプURL: https://teratail.com/help
退会済みユーザー

退会済みユーザー

2015/07/06 06:25

ご教授ありがとうございます。全件表示するものどれも選択されていない状態とありますが、例えばチェックボックスに何もチェックされていない状態みたいな感じでしょうか?また、もし選択されている状態だとnullではなく何が入りますか?何度も済みませんがよろしくお願いします。。
guest

回答3

0

createVShoesListの実装部分だと、
以下の通りですね。

lang

1 public List<VShoes> createVShoesList(List<String> inItemList, 2 List<String> inSelectedList) { 3 List<VShoes> vArrayList = new ArrayList<VShoes>(); 4 for (TShoes ShoesIter : Shoesdao.retrieveShoesByISBNs(inItemList)) { 5 VShoes currentVShoes = new VShoes(ShoesIter); 6 currentVShoes.setSelected(false); 7 if (inSelectedList != null && inSelectedList.size() != 0) { 8 if (inSelectedList.contains(ShoesIter.getIsbn())) { 9 currentVShoes.setSelected(true); 10 } 11 } 12 vArrayList.add(currentVShoes); 13 } 14 return (vArrayList); 15 }

これを見る限り、第二引数は、
第一引数で指定したVShoesの中で、
選択済みにするもののリストで、nullの場合は何も
選択しない、というもののようです。

そのため、
「2行目のところのなぜnull指定している」かの理由は、
全件表示はするものの、どれも選択しない状態にしたいためと考えられます。

投稿2015/07/05 03:01

編集2015/07/05 03:09
eripong

総合スコア1546

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

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

eripong

2015/07/06 06:36

チェックボックスに何も選択されていない状態、はその通りのイメージです。 どれかを選択する場合は、選択したいVShoesのISBNのリストを渡します。
guest

0

chiku_さんも言われていますが、shoesLogic.createVShoesList()の中身が分からないとどうしようもないですね。
クラスの説明とかないですか?

投稿2015/07/04 10:21

cateye

総合スコア6851

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

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

eripong

2015/07/04 10:27

一応、情報の追加のところに説明を書いてもらったのですが、 私にはこれでは分からなかったのでコードを貼ってもらえないか お願いしています。
cateye

2015/07/04 10:47 編集

失礼、見落としていましたmm 単純に考えると、リストの挿入位置でしょうか? nullの場合は、最後尾とか・・・?
guest

0

shoesLogic.createVShoesListの中を見てみないとなんともいえませんが、第2引数はソートなどのオプションなのかもしれません。nullであれば、ソートせずにnul以外であれば、値に伴いソートを行うなどの。。

投稿2015/07/04 06:42

chiku_

総合スコア1464

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問