application.setAttributeとapplication.getAttributeを使ってint型変数の値を共有したいと思っています。
String型だとうまくいくのですがint型だとうまくいかないのです。
下記の上のソースはString型でのソースです。これの
String storedData = "JSPサンプル";
の部分をint型に変えたいと考えています。
下のソースはint型に変えたのですが,
Object型からint型にキャスト変換できないようなエラーが出て動きませんでした。
int型の変数を方法をapplication.setAttributeで使う方法はどうすればいいのでしょう?
ご存知のかたいらっしゃいましたら教えてください。よろしくお願いします。
-----------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head><title>Sample</title></head>
<body>
<%
//applicationオブジェクトに保存
String storedData = "JSPサンプル";
application.setAttribute("appdata",storedData);
//applicationオブジェクトから読み出し
Object readData = application.getAttribute("appdata");
String readDataString=(String)readData;
%>
applicationオブジェクト保存データ:<b><%= readDataString %></b>
</body>
</html>
-----------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head><title>Sample0</title></head>
<body>
<%
int storedData = 10;
application.setAttribute("appdata",storedData);
//applicationオブジェクトから読み出し
Object readData = application.getAttribute("appdata");
int readDataString=(int)readData;
%>
applicationオブジェクト保存データ:<b><%= read %></b>
</body>
</html>
No.2ベストアンサー
- 回答日時:
int storedData = 10;
intObject = new Integer(int storedData);
application.setAttribute("appdata", intObject);
ですね。intをIntegerに変換してsetAttributeに渡します。
//applicationオブジェクトから読み出し
Object readData = application.getAttribute("appdata");
Integer intReadData = (Integer)readData;
int readDataString = intReadData.intValue();
こちらも。getAttributeはObjectしか返さないので、受け取ってからIntegerにキャストし、その後で読み取っています。
この回答への補足
直していただいてありがとうございます。
しかし、intObject = new Integer(int storedData);
の部分で、下記のエラーが出てしまいうまく動きません。
生成されたサーブレットのエラーです:
Syntax error on token "int", delete this token
プログラムのソースの問題ではなく、なにか他に問題があるのでしょうか?
No.3
- 回答日時:
あー、すいません、元ソースのバグの一つですね。
消し忘れてました。intObject = new Integer(storedData);
が正解です。
#いちいち動作確認してませんので・・・
あと、
int readDataString = intReadData.intValue();
の部分も、どうせ使うときは文字型なので
String readDataString = intReadData.toString();
の方がよさそうですね。
#他に単純ミスがあれば、自力で直してください。
この回答への補足
何度もすいません。エラーの種類が変わっただけで出来ませんでした。
intObject = new Integer(storedData);
application.setAttribute("appdata", intObject);
の部分で
intObject cannot be resolved
のエラーが起きてしまいます。
No.1
- 回答日時:
Object型は全ての親クラスと入門書等にはありますが、プリミティブ型はその限りではありません。
intの場合はIntegerにラップしてセットするのが妥当だと思います。
・int→Integer
new Integer(int i);
・Integer→int
Integer#intValue();
この回答への補足
ラップしてセットするとはどのような記述をすれば良いのでしょうか?
直接new Integerを追加すると、追加した7行目で下のエラーが出てしまいました。
Syntax error on token "int", delete this token
-----------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head><title>Sample</title></head>
<body>
<%
int storedData = 10;
new Integer(int storedData);
application.setAttribute("appdata",storedData);
//applicationオブジェクトから読み出し
Object readData = application.getAttribute("appdata");
int readDataString = Integer.parseInt(readData);
%>
applicationオブジェクト保存データ:<b><%= readDataString %></b>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP php エラー 2 2022/10/23 16:43
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- PHP php ログイン 1 2022/11/01 00:24
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0 == False はいいけど
-
パワーポイントのVBAでテキスト...
-
VBAのWindowオブジェクトとWork...
-
オブジェクトの作成
-
Excelで =EMBED("Acrobat Docu...
-
ワイルドカード<?>と型パラメー...
-
C#でフォームのオブジェクト名...
-
Javaについて質問です。 セッシ...
-
ビジュアルC++でボタンの有...
-
Object型からDouble型へのキャスト
-
error C2712: オブジェクト ア...
-
EXCEL VBAにて動的にCheckBOXを...
-
ASP.net 教えてください!!(...
-
VBA 同じ名前のオブジェクトを...
-
VBAのオブジェクトの値を保持し...
-
Excelが終了終了しない!
-
ポップアップメニュー作成時に...
-
DOMの要素ををtextarea(dropし...
-
newは明示的にした方が良いのか?
-
オブジェクト指向とモジュール設計
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
JAVAからHTMLへ値を返す方法
-
ワイルドカード<?>と型パラメー...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBA 同じ名前のオブジェクトを...
-
Object型からDouble型へのキャスト
-
ビジュアルC++でボタンの有...
-
COMコンポーネントって何?
-
LISTBOXの内容が更新されま...
-
Vbで通常使用するプリンターを...
-
多人数のじゃんけんプログラム
-
オブジェクト名をforループ内で...
-
ASP.net 教えてください!!(...
-
JSPのout.printについて
-
時間帯判定をする。
-
error C2712: オブジェクト ア...
-
Accessの連結・非連結オブジェ...
おすすめ情報