jspファイル
<%
String stateforcookie=request.getParameter("stateforcookie");
if(stateforcookie != null ) {
Cookie cookies2 = new Cookie("statecookie",stateforcookie);
cookies2.setMaxAge(365 * 24 * 60 * 60);
response.addCookie(cookies2);
}
String state=request.getParameter("state");
Cookie[] cookies2=null;
cookies2 = request.getCookies();
out.print(cookies2);
if (state==null) { if(cookies2 != null)
state=cookies2[0].getValue(); }
if(cookies2[0].getValue() == null) {
%>
<body onload="po(0);">
<% }else { %>
<body onload="po(1);">
<% } %>
<div id="popup">
<div id="contenttt">
<form method="post" action="home.jsp">
Choose Your State:<input id="popuptext" type="text" name="stateforcookie" />
<input id="popupclose" type="submit" value="submit" />
</form>
</div>
</div>
javascript:
<script type="text/javascript">
function po(i) {
if(i==1){
$('#popup').hide("slow");
}
else if(i==0){$('#popup').show("slow");}
}
$(function(){
$('#popupclose').click(function(){
$('#popup').hide("slow");
});
});
</script>
1.ここでCookieに値を保存しようとしていますが、Cookieがnullの場合、テキストボックスのあるウィンドウがポップアップ表示されます。Cookieがnullでない場合、ポップアップウィンドウは表示されません。
しかし、私は次の行で問題に直面しています--out.print(cookies2); 印刷します:-
[Ljavax.servlet.http.Cookie; @ 1d6bff7
- if(cookies2 [0] .getValue()== null)はnullポインタ例外をスローします。すべてのブラウジングデータを削除した後でも、同じエラーが発生します