この構文エラーをどうにかする方法はありますか


dejavu ( 2009-05-25 01:49 )
まずは、ソースコードを書きます。

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class for Servlet: ServletUtilities
*
*/
public class ServletUtilities {
public static final String DOCTYPE =
"<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">";

/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public ServletUtilities() {
super();
}
public static String headWithTitle(String title) {
return (DOCTYPE + "<br>" +
"<HTML><br>" +
"<HEAD><TITLE>" + title + "</TITLE></HEAD><br>");

これはサーブレットからHTMLファイルを生成される際に面倒くさい記述を簡略化するユーティリティークラスです。
問題なのは
"<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">";
DOCTYPE html PUBLIC "-
の『-』の部分です。
ここが構文エラーとなり、警告として『;』に置き換えろ、という文章が表示されます。
このエラーを直す事はできないでしょうか。
どうぞ宜しくお願い致します。

コメント

1 ぴあちゃん ( 2009-05-25 01:53 )
×:"-/
○:\"-/

だから、文法覚えなさいって。

2 kuma ( 2009-05-25 02:29 )
あなたのやっていることは
「亜をなぜ"い"と読まないのですか?これは"い"のはずなのに」
と言っているのと同義です。

3 dejavu ( 2009-05-25 03:20 )
ぴあちゃんさん、1度それで問題ないか試して下さい。
私はそれを試しました。
それでも、ダメだったので質問しています。
もし、それで通るようでしたら、私のEclipseが壊れているのでしょう。
kumaさんもお願い致します。
コピペで貼り付けてやってみて下さい。
どうぞ宜しくお願い致します。

4 kuma ( 2009-05-25 04:03 )
DOCTYPEがエスケープされていないであろうことは始めたばかりの人でも解る事でしょう。

public static final String DOCTYPE =
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";

上記のようにしてなおDOCTYPEで構文エラーとでるのならば考えましょう。

但し、構文エラーならばEclipseでは無くコンパイラのはず。

もし、それで通るようでしたら、私のEclipseが壊れているのでしょう。

と言っているからには、
Eclipse上でのみ構文エラーがでてコマンドからのコンパイルは通っているということですか?
問題点の切り分けはできていると

そうでないのであれば、おこがましいにも程がある。

5 未記入 ( 2009-05-25 04:28 )
文字列はダブルクォートで囲む必要があります。
その囲んでいる中に文字としてのダブルクォートを書きたい場合は、
ダブルクォートの前に\を付けてください。
これをエスケープするといいます。

6 dejavu ( 2009-05-25 06:24 )
大変申し訳ありません。
訂正します。
¥”は知っていました。
これは本当です。
まぁ、これでは信じてもらえないかもしれませんが。
kumaさんへ、
おこがましい、を辞書で調べました。
当たっているかは見た人の判断に任せます。
未記入さんへ、
私を哀れんでくれているのでしょうか。
そんな感じがするレスに思えました。

7 dejavu ( 2009-05-25 06:28 )
kumaさんのレスでエラーは解消されました。
ただ、おこがましい、と言う言葉を真正面から受け止めなければいけないでしょう。
ブーイング言いたい方は言ってくれて結構です。
返信するかどうかは分かりませんが、書かれた批判はこれからの反省点として改善していきたいと思います。

8 kuma ( 2009-05-25 11:25 )
いいですか
Eclipseも人が作ったものです。故にバグもありましょう。
但しそれを断定できるのは、その原因を特定した人です。

件のクラスも何処からか入手したものでしょうけれど、
それを態々改竄してまで貼り付け、動かないとクレームをつける。

Eclipseを基にした商品を扱っている会社もあります。
「Eclipseは壊れる」という発言内容は、
他の人に製品に対する悪いイメージを与える営業妨害ともとれるでしょう。
なにより、これまでEclipseを創ってきた人達に対する冒涜でしょう。

他に適当な表現があれば教えてほしいものです。

9 dejavu ( 2009-05-25 11:51 )

Eclipseを基にした商品を扱っている会社もあります。
「Eclipseは壊れる」という発言内容は、
他の人に製品に対する悪いイメージを与える営業妨害ともとれるでしょう。
なにより、これまでEclipseを創ってきた人達に対する冒涜でしょう。

今までのkumaさんの言い分はいちいち最もであり、真摯に受け止めています。
どうなんでしょう?
私的には凄く楽観的というかラフな感じで書いたつもりです。
そこに悪意はありません。
グダグダと長いスレッド名を書くよりかはああいう風に書くのが手っ取り早いかな、と思ったまでですけど。
kumaさんはEclipseに関係するお仕事をなさっているのですか?
それなら、貴方の言い分に一理あるでしょう。
そうでないならば、思い込が激しいですね、と言うしか言葉はありませんね。
私の勝手な見解ですが、このスレッドのタイトルを見てリアクションした人は内容も読むのではないでしょうか。
それで、原因が分かり、『なんだぁ、こんな事かぁ』と思うでしょう。
反省しないわけではありませんが、これはある意味表現の自由ではないでしょうか。

10 ぴあちゃん ( 2009-05-25 11:57 )
public static String headWithTitle(String title) {
return (DOCTYPE + "<br>" +
"<HTML><br>" +
"<HEAD><TITLE>" + title +
"</TITLE></HEAD><br>");
}
これ、"<br>" じゃなくて、"\n" でしょう。
同じ改行だけど;;

>表現の自由
どこかで、やたらと強調するな、って突っ込まれませんでした?
表現の自由の意味を履き違えています、少なくともこの場合は。

11 ごん太 ( 2009-05-25 11:58 )

kumaさんのレスでエラーは解消されました。


とりあえずdejavuさんの困っていたエラーは解決したようなので、ここでスレッドの書き方等を議論するのではなく「@ITクラブ Cafe」で議論されてはどうでしょうか。

12 dejavu ( 2009-05-25 12:27 )

これ、"<br>" じゃなくて、"\n" でしょう。
同じ改行だけど;;


やはり、プロが見るとそういうものなんですかね。
確かにテキストでは\nでした。
でも<br>の方がいいかな、と思い、私の判断で書き換えたんですけど、何かマズいのでしょうか。
そういうところは皆目分かりません。

>表現の自由
どこかで、やたらと強調するな、って突っ込まれませんでした?
表現の自由の意味を履き違えています、少なくともこの場合は。

ネガティブな言葉の強調についてですか。
ネガティブな言葉好きなんですよね>変態ですか?
何で強調表示にしてしまうんですけど、皆様の気分を害さないように気をつけたい、と思っております。
表現の自由については特に何も言いませんが、こんな私個人の一言が一体どれだけの人に被害を及ぼすのでしょうか。
そんなところです。
ごん太さんへ、ご迷惑おかけしております。
まもなく収拾すると思うので、すみませんが宜しくお願い致します。

13 flatline ( 2009-05-25 12:57 )
たぶんですが、dejavu さんが、「Eclipse が壊れた」と言っているのは、「Eclipse にバグがある」という意味ではなく、「dejavuさんの」PC にインストールされているEclipse のファイルが壊れるか何かして、動作がおかしくなったという意味だと思いますが。
私も一度、ワークスペースのファイルを壊してしまい、起動しなくて悩んだことがあります。

14 いとっと ( 2009-05-25 13:10 )

ブーイング言いたい方は言ってくれて結構です。
返信するかどうかは分かりませんが、書かれた批判はこれからの反省点として改善していきたいと思います。


他人の時間やリソースを使うことに無頓着過ぎないですか?
そういった自己中心的なところがまったく変わっていないことに気付かない限りはずっと今のままだと思います。
dejavuさんご自身は、腰を低くして丁寧に応対しているつもりかも知れませんが、まったくあなたの中身は変わっていないことは文章の端々から伝わってきます。大変失礼な物言い、振る舞いが多いです。
今回のぴあちゃん、kumaさんへの対応もまさにそのとおりですよね。

こんなことを書いてもdejavuさんには伝わらないとは思っていますし、別に改善して欲しいわけではないのですが、せっかく回答をくれた方々に失礼な発言を繰り返しているのを見ていたら一言いってやりたくなりました。

余計なお世話だとか失礼な奴だと切って捨てていただいてかまいません。

15 スフレ ( 2009-05-25 13:41 )

やはり、プロが見るとそういうものなんですかね。
確かにテキストでは\nでした。
でも<br>の方がいいかな、と思い、私の判断で書き換えたんですけど、何かマズいのでしょうか。


マズいです。HTMLの文法上、そこに<br>は入れられません。


そういうところは皆目分かりません。


勉強しましょう。



16 dejavu ( 2009-05-25 13:58 )

他人の時間やリソースを使うことに無頓着過ぎないですか?
そういった自己中心的なところがまったく変わっていないことに気付かない限りはずっと今のままだと思います。
dejavuさんご自身は、腰を低くして丁寧に応対しているつもりかも知れませんが、まったくあなたの中身は変わっていないことは文章の端々から伝わってきます。大変失礼な物言い、振る舞いが多いです。
今回のぴあちゃん、kumaさんへの対応もまさにそのとおりですよね。

自己中心的ですか。
それは私の悪い癖ですね。
いとっとさんには偉ぶっている感じを受けられるのですかね。
確かに、今回の質問は安易だったのは事実です。
その事でアドバイスをくれている人の時間を無駄に費やしていると言われれば、その通りです。
この事は後悔しています。
自己中心的な性格に関しては努力して改善できれば、と思っています。
でも、正直言って私が書いた文章が自己中心的な物言いになっている事にあまり気付いていないかもしれません。
ただ、いや、これ以上言っても拉致があかないでしょうね。
私は、自分なり努力しているつもりです。
でも、それに反感を買っているわけですよね。
それだけに、いとっとさんを含めて私に対して悪い印象を持っている皆さんが何故そこまで憤りを感じるのか分かりません。
それと、もう内容が私の求めている答えから大きくハズれてしまっています。
内容は解決しているのでいいんですけど、私の皆様に対しての振る舞い、マナー、エチケットについてはどこかにスレでも立てて頂けないでしょうか。

17 dejavu ( 2009-05-25 14:05 )

マズいです。HTMLの文法上、そこに<br>は入れられません。

スフレさん、ここにいる皆様には常識かもしれませんが、私にとっては物凄く貴重なアドバイスを頂き、感謝します。
そうですか。入れられないのですか。
これはHTMLの問題ですよね。
問題以前かもしれませんが、でも、私ごとき無能な人間にはとても有り難い言葉です。
おっしゃるとおり、勉強します。
それと、わざわざありがとうございました。