• 締切済み

ブラウザにソースコードを表示するには?

こんにちは、 Servletを使ってJavaのソースを動的に生成するプログラムを作成しています。 ブラウザ(IE)にソースをテキストとして表示するために、ContentType を "text/plain" に指定したのですが、うまく行かない場合あるので、質問させていただきました コメントが /** * タイトル: XXServlet * 説明: XX用サーブレット * 著作権: Copyright (c) 2002 * 会社名: XXX * @author zigen * @version 1.0 */ の場合は、うまくいくのですが、 /** * XXXクラス。 * <p /> * * @author XXX XXX&lt;<A HREF="mailto:abc@aaa.bbb.com">abc@aaa.bbb.com</A>&gt; * @version 1.0 * @since JDK1.3 * */ のように、<A HREF>タグが含まれると、勝手にHTMLとして 処理されてしまうのです。(IE5.5) 何か良い方法はないでしょうか?

  • ZIGEN
  • お礼率86% (13/15)
  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

IE は、おせっかいですからねえ。 ContentType を text/html にして、その servlet で、特殊文字をエスケープするしかないと思います。 > * @author XXX XXX&lt;<A HREF="mailto:abc@aaa.bbb.com">abc@aaa.bbb.com</A>&gt; * @author XXX XXX&amp;lt;&lt;A HREF="mailto:abc@aaa.bbb.com"&gt;abc@aaa.bbb.com&lt;/A&gt;&amp;gt; # もしくは、IE を使わない :-)

ZIGEN
質問者

お礼

コメントありがとうございます!! やっぱり、、HTMLとして表示するしか無さそうですね・・・。

関連するQ&A

  • HTMLのソースの取得・正規表現

    プログラム自体始めて間もない初心者です。 javascriptでHTMLのソースを取得して、正規表現でマッチしたURLを書き出したいと思います。 取得したソースから正規表現で抽出はできましたが、さらに手を加えると機能しませんでした。 下記test-1では「http://abc.com/」と表示されましたので思った通りに動きました。 しかし、test-2では「http」と表示されると思っていたところ、表示されませんでした。 この違いはなんでしょうか? //////////////////// test-1 <html> <head> <script type="text/javascript"> function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); document.write(bbb); } </script> </head> <body> <input type="button" onclick="test()"> <a href="http://abc.com/"> </body> </html> //////////////////// test-2 function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); ccc = bbb.match(/http/); document.write(ccc); }

  • 特定のリンクタグの削除

    下記のような文字列内で、mailtoを含むリンクタグを削除しようとmberegi_replaceで対応しようとしてみましたが、正規表現の理解が乏しいためか上手くいきません。 <table> <tr> <td><a href="http://www.aaa.com">あああ</a></td> <td><a href="mailto:info@aaa.com">あああにメール</a></td> </tr> <tr> <td><a href="http://www.bbb.com">いいい</a></td> <td><a href="mailto:info@bbb.com">いいいにメール</a></td> </tr> </table>  ↓ <table> <tr> <td><a href="http://www.aaa.com">あああ</a></td> <td></td> </tr> <tr> <td><a href="http://www.bbb.com">いいい</a></td> <td></td> </tr> </table> mberegi_replace関数にこだわっている訳ではありませんので、ベストな方法を教えて頂ければ幸いです。 何卒、宜しくお願いします。

    • ベストアンサー
    • PHP
  • 使う回線によって、ブラウザ上にソースコードが表示される

    使う回線によって、ブラウザ上にソースコードが表示されます。 ダイヤルアップ、OSはWindowsXP です。 SNSなどのログイン画面は、input…とソースコードが表示されます。 ログインはできません。 Googleなどの検索エンジンは、検索結果は途中までしか表示されず、 <a href =とソースコードが表示されます。 IEとFireFoxを切り替えても、文字化けします。 エンコード設定を変えても、効果はありません。 しかし、他人の家にいって、LAN回線で接続すればまったく大丈夫です。 お手数かと思いますが、回答もらえると幸いです。

  • PHPでaタグ内のリンクの末尾に文字列を追加したい

    PHPでaタグ内のリンクの末尾に文字列を追加したいのですがやり方がわかず困っております。 やりたいことは以下のようなことです <a class="url" href="http://www.abc.com">○○</> や <a href="http://www.abc.com">○○</> となっているhrefのリンクの末尾に"AAA"などの文字列を付加したいです <a class="url" href="http://www.abc.com/AAA">○○</> や <a href="http://www.abc.com/AAA">○○</> ご存じの方がいらっしゃいましたらご教授ください。 よろしくお願いします

    • 締切済み
    • PHP
  • ソースの置換えを効率的に行う方法

    ソースの置換えについてです。Dreamweaver4を使っております。 以下のようなソースがあり、AAA1、BBB1、CCC1の部分をすべて数字なしのアルファベットのみ(AAA、BBB、CCC)にしたいのです。 置換えたい箇所は1000個近くあり実際は数字もアルファベットも、もっと多くの種類があるので、一つずつ置換え設定をするのではなく、なるべく一度で出来るような方法で置換えで行いたいのですがどのように設定したらよいでしょうか。 私の理想としては "AAA*"のような形で*にはどのような文字列が入っていても対応できるような方法があれば・・・と思っているのですが。 <input type="radio" name="XXX" value="AAA1"> <input type="radio" name="XXX" value="BBB1"> <input type="radio" name="XXX" value="CCC1"> <input type="radio" name="ZZZ" value="AAA2"> <input type="radio" name="ZZZ" value="BBB2"> <input type="radio" name="ZZZ" value="CCC2"> Dreamweaver以外の方法でも構いませんのでよろしくお願い致します。

    • ベストアンサー
    • HTML
  • エクセルVBAでwebのソースコードを検索&取得

    webページのソースコードを検索して、検索した文字列に続く3文字を取得したいです webページのソースコードが下記だと仮定します (ソースコード)   AAA   ABC***   BBB   CCCAAA ABC という文字列を検索して、***という変数を取得したいです ***の部分は毎回変わる、英数字のランダムな文字です 説明が下手で申し訳ありません どの様に取得すればよいかわかりません どうぞよろしくお願い申し上げます

  • <li>の横並びで、<span>のところで改行

    <li>をfloatで横並びにした場合、IE7のみ、<span>のところで改行されてしまい、最後の部分だけ以下のようになります。 ddd ( xx x ) IE8やそれ以外のブラウザは<li>のところで改行され、以下のようになります。 aaa ( xxx ) bbb ( xxx ) ccc( xxx ) ddd ( xxx ) どのようにすれば、IE7も<li>のところで改行され他と同じようになりますか。 実際にはaaa,bbb,xxxの文字などはもっと長いものでたまたま画面右端ぎりぎりにdddまで表示され</span>が区切りになって( xxx )の部分がddd下部に縦に3段くらいで表示されます。 IE8や、他のブラウザは、ddd ( xxx ) がセットで画面に収まらないので、<li>でおりかえされており、このようになってほしいのですが。 よろしくお願い致します。 <ul class="list"> <li><a href="a.html"><span style="color: #cccc99">aaa</span> ( xxx )</a></li> <li><a href="b.html"><span style="color: #cccc99">bbb</span> ( xxx )</a></li> <li><a href="c.html"><span style="color: #cccc99">ccc</span> ( xxx )</a></li> <li><a href="d.html"><span style="color: #cccc99">ddd</span> ( xxx )</a></li> </ul><div style="clear: left;"></div> ul.list{ list-style:none; width:100%; margin: 0 0 .8em 0; padding: 0; } ul.list li { float:left; display: inline; margin-right:.7em; }

    • ベストアンサー
    • HTML
  • リンクをクリックするだけでCC宛先にデフォルトアドレスを入れた電子メールをつくる方法

    <A href="mailto:abc@xxx.com?subject=標題&amp;body=本文">メール送信</A> とすると、宛先と標題と本文にデフォルト値がはいるメールになるのは知っているのですが、CC宛先にデフォルト値の電子メールアドレスを設定する方法がわかりません。 教えてください。

    • ベストアンサー
    • HTML
  • メールフォームで送信先アドレスをプルダウン項目によって変更

    こんにちわです! 会社でメールフォームのカスタマイズをすることになったのですが どうしても出来ないのでお力をお貸し下さい! kentさんのpostmailを使用してます。 http://www.kent-web.com/data/postmail.html プルダウンメニューから選択された項目によって送信先を変えたいのですが うまくフォームからの値をCGI側で拾ってくれてない(?)のです。 ネットで検索してこれだと思うのを試したのですがうまくいかず。。。 現状はHTML側では <SELECT name="mailto"> <OPTION value="0" selected>AAA</OPTION> <OPTION value="1">BBB</OPTION> <OPTION value="2">CCC</OPTION> <OPTION value="3">DDD</OPTION> <OPTION value="4">EEE</OPTION> <OPTION value="5">FFF</OPTION> </SELECT> CGI側では 107行目をコメントアウトして108行目に @addrList = ('aaa@aaa.com', 'bbb@bbb.com', 'ccc@ccc.com', 'ddd@ddd.com', 'eee@eee.com', 'fff@fff.com'); $mailto = $addrList[$FORM{'mailto'}]; 495行目はそのままの $body = "To: $mailto\n"; としてます。 上記方法だとすべてaaa@aaa.comにメールが送信されます。。。 他にも 108行目に $mailto = $form{'mailto'}; if ( $mailto == 0) { $mailto = 'aaa@aaa.com'; } elsif ( $mailto == 1) { $mailto = 'bbb@bbb.com'; } elsif ( $mailto == 2) { $mailto = 'ccc@ccc.com'; } elsif ( $mailto == 3) { $mailto = 'ddd@ddd.com'; } elsif ( $mailto == 4) { $mailto = 'eee@eee.com'; } else { $mailto = 'fff@fff.com'; } 495行目は同じく $body = "To: $mailto\n"; 上記方法を試しましたが、やっぱりすべての宛先がaaa@aaa.comに送信されます。 何がまちがいで、どこをどのように正せば送信先を選択できるようになるのでしょうか? 今日の18時までにはなんとか作り上げたいと思ってますのでご教授よろしくお願いします! PS:現在の知識としてHTMLしか言語はわかりません^^;

    • ベストアンサー
    • CGI
  • 表示/非表示の切り替え

    AAA、BBB、CCCの3つが縦に並んでいるとします。 ここで、あるボタンをクリックすると、BBBが消えるようにしたいです。 JavaScriptを使用して、以下のようなものを作ってみましたが、これだと、BBBが消えたスペースが空白として残ってしまいます。 スペースを残さずに、AAAとCCCを詰めて表示させたいのですが、何か方法はありますでしょうか? ====================================================================== <html> <body> <SCRIPT LANGUAGE='JavaScript'> <!-- function showLAYER(idName){ document.getElementById(idName).style.visibility = 'visible' } function hiddenLAYER(idName){ document.getElementById(idName).style.visibility = 'hidden' } //--> </SCRIPT> <A HREF="javascript:showLAYER('layer1')">[表示]</A> <A HREF="javascript:hiddenLAYER('layer1')">[非表示]</A> <br><br> AAA<br> <DIV ID = "layer1" > BBB </DIV> CCC<br> </body> </html> ======================================================================

専門家に質問してみよう