サーブレット内の属性に整数のリストを設定しようとしていて、リダイレクトされたJSPページでリストを取得しようとしています。サーブレットの属性としてリストを設定し、JSPで取得する
私は以前の回答hereとhereなどを見てきました。私のコードは私の答えと同じようです。明らかに私は間違ったことをしましたが、私はその問題を見ることができません。
"accomList"は、サーブレットのコンソールにリストを出力してテストしたので、サーブレットに正しく設定されていることに注意してください。 [1,2,3,4,21]に設定されています。
"AccomSearch.java" サーブレット
session.setAttribute("accomList",accomList);//set list as attribute
getServletConfig().getServletContext().getRequestDispatcher("/viewAccom.jsp").forward(request,response); // redirect to jsp page
^属性に "accomList" リストを設定すると、JSPページにユーザーをリダイレクトします。
"viewAccom.jsp" JSPページ、 "accomList" 属性を取得リストにキャストし、それを表示しようとすると
<%
List<Integer> accomList = new ArrayList<>();
accomList = (List<Integer>) request.getAttribute("accomList");
if (accomList==null){
out.println("accomList is null, Why is the list null?");
}else{
for (int i = 0; i < accomList.size(); i++) {
out.println(Integer.toString(accomList.get(i)));
}
}
%>
^。
コードが実行されると、JSPページの "accomList"変数が "Null"として返されます。したがって、String "accomListはnullです。なぜリストはnullですか?"ブラウザに表示されます。これは意図されていません。
私の推測では、属性を誤って設定しているか取得しています。あなたが余裕を持って助けることができたら、事前に感謝します。
また、これは私の最初のStackOverflowの質問ですので、あなたがrequest
ないでList
を設定する必要がありますなど、
どのように私はそれを見ていないのですか...ありがとう。私は私が過労だと思う。 xD –
あなたはjspの式言語を使ってリストを$ {accomList} –