javascriptでオブジェクトのクラス名を取得したくなった。 [Web]
selectの各要素の状態により処理を変えたいところがでてきた。
各要素は、状態に応じてデザインを変えている(css)ため、クラス名を取得して判断しようと考えた。
(obj.className)で、クラス名を取得して、処理を分岐。
まぁ、ちゃんと動きますよ。
でも、あんまりきれいではないかな・・・
各要素は、状態に応じてデザインを変えている(css)ため、クラス名を取得して判断しようと考えた。
(obj.className)で、クラス名を取得して、処理を分岐。
まぁ、ちゃんと動きますよ。
でも、あんまりきれいではないかな・・・
コレクション(ArrayListなど)から配列への変換 [Java・JSP]
コレクションクラスの「toArray()」を使用する。
が、toArray()は、Object[]を返す。
たとえば、String[]が取得したい場合、この戻り値をString[]にキャストすると例外が発生する。
戻り値が純粋にObject[]なので、当たり前か・・・
そこで、toArray(Object[])を使用する。
こちらは、引数で与えられた配列にコレクションの値を詰め込んで返してくれる。
なので、引数にString[]を指定すると、戻り値をString[]にキャスト可能。
こんな具合に、
String[] aStr = (String[])arraylist.toArray(new String[0]);
が、toArray()は、Object[]を返す。
たとえば、String[]が取得したい場合、この戻り値をString[]にキャストすると例外が発生する。
戻り値が純粋にObject[]なので、当たり前か・・・
そこで、toArray(Object[])を使用する。
こちらは、引数で与えられた配列にコレクションの値を詰め込んで返してくれる。
なので、引数にString[]を指定すると、戻り値をString[]にキャスト可能。
こんな具合に、
String[] aStr = (String[])arraylist.toArray(new String[0]);
Javaのソース上からPOSTしたい。 [Java・JSP]
できました。
PrintStream ps = null;
HttpURLConnection urlConn = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
// 指定URLへの接続
URL theUrl = new URL(url);
urlConn = (HttpURLConnection)theUrl.openConnection();
// POST
urlConn.setDoOutput(true);
urlConn.setRequestProperty("User-Agent", "@TWR e-wellness HYBRID URLConnection");
urlConn.setRequestProperty("Accept-Language", "ja");
OutputStream os = urlConn.getOutputStream();
ps = new PrintStream(os);
ps.print("arg1=111&arg2=222&arg3=333");
// POST結果の入力
bis = new BufferedInputStream(urlConn.getInputStream());
byte[] buffer = new byte[8192];
int size = bis.read(buffer);
if (size < 0) { return false; }
// クライアントへの出力
bos = new BufferedOutputStream(response.getOutputStream());
while (0 <= size) {
bos.write(buffer, 0, size);
size = bis.read(buffer);
}
bos.flush();
}
catch (Exception ex) {
// 例外処理
}
finally {
if (null != ps) { ps.close(); }
if (null != bos) { bos.close(); }
if (null != bis) { bis.close(); }
if (null != urlConn) { urlConn.disconnect(); }
}
IE「エラーc00ce56eのため操作を完了できませんでした。」? [Web]
Ajaxで「エラーc00ce56eのため操作を完了できませんでした。」が・・・これはなんだ?
どうやら、Ajax に対するレスポンスの文字コードが 原因らしい。
リクエストと異なる文字コードでレスポンスが帰ってくるとこのエラーが表示されるらしい。
さて、リクエストの文字コードは・・・Shift_JISのようです。
レスポンスは、Windows-31J。
では、Shift_JISで返してみます。
ビンゴ! うまくいきました。
どうやら、Ajax に対するレスポンスの文字コードが 原因らしい。
リクエストと異なる文字コードでレスポンスが帰ってくるとこのエラーが表示されるらしい。
さて、リクエストの文字コードは・・・Shift_JISのようです。
レスポンスは、Windows-31J。
では、Shift_JISで返してみます。
ビンゴ! うまくいきました。
テーブルを中央に表示する。 [Web]
IE7では、「text-align:center;」で中央表示されていたが、IE8では左寄せになっている。
本来は、TABLEに対して、
が正解。
ただし、これではIE6ではNGのようだ。で、
でテーブルを囲む。
すなわち、こんな具合。
本来は、TABLEに対して、
<table style="margin-left:auto;margin-right:auto;" ・・・>
が正解。
ただし、これではIE6ではNGのようだ。で、
<div style="text-align:center;">
でテーブルを囲む。
すなわち、こんな具合。
<div style="text-align:center;">
<table style="margin-left:auto;margin-right:auto;" ・・・>
:
</table>
</div>
IE Developper Toolbarってなくなったの? [Web]
IE Developer Toolbarを使いたいと思って、探しているのだが・・・見つからない。
ここに説明はある。 (2008 年 3 月 7 日のものだが。)
http://msdn.microsoft.com/ja-jp/ie/cc787970.aspx
ここからのリンクが、リンク切れになっている・・・
なくなったの?
・・・
ほう。なるほど。ここに書いてある。
http://msdn.microsoft.com/ja-jp/ie/dd441788.aspx
IE8には、既に組み込まれていたのね。いまさら!ですかね。
IE8では、「F12」キーで開発ツールが起動します。
ここに説明はある。 (2008 年 3 月 7 日のものだが。)
http://msdn.microsoft.com/ja-jp/ie/cc787970.aspx
ここからのリンクが、リンク切れになっている・・・
なくなったの?
・・・
ほう。なるほど。ここに書いてある。
http://msdn.microsoft.com/ja-jp/ie/dd441788.aspx
IE8には、既に組み込まれていたのね。いまさら!ですかね。
IE8では、「F12」キーで開発ツールが起動します。
SQLの中でIF文はつかえるの? [oracle]
CASE文がありました。
CASE 変数・式等
WHEN 値1 THEN 戻り値1
WHEN 値2 THEN 戻り値2
:
ELSE 戻り値
END
CASE 変数・式等
WHEN 値1 THEN 戻り値1
WHEN 値2 THEN 戻り値2
:
ELSE 戻り値
END
「未検査キャスト」の回避。JSPの中で「@SuppressWarnings」つかえないの? [Java・JSP]
JSP内での「未検査キャスト」を回避したい・・・。
使えないから、その部分はJavaでみたいなことが書かれたHPがあったが・・・
使えますね。
例)
@SuppressWarnings("unchecked") ArrayList aryBBB = (ArrayList)clsCCC.getDDD();
使えないから、その部分はJavaでみたいなことが書かれたHPがあったが・・・
使えますね。
例)
@SuppressWarnings("unchecked") ArrayList