Lomboz2.1.3のエスケープシーケンスエラー

このQ&Aのポイント
  • EclipseでServlet/JSPを学び始めた方が、Lomboz2.1.3でエスケープシーケンスエラーが発生しています。
  • 具体的には、JSPのスクリプトレットの2行目で、申請承認を代入する際にエスケープシーケンスが無効というコンパイルエラーが出ています。
  • Webでの検索では解決策が見つかっていないようで、Eclipseの設定で回避できる方法について教えていただきたいです。
回答を見る
  • ベストアンサー

Lomboz2.1.3のエスケープシーケンスエラー

EclipseでServlet/JSPを学び始めたものです。 以下JSP(一部抜粋)のスクリプトレットの2行目(VALUEに申請承認代入)で 『エスケープ・シーケンスが無効です。(有効なものは \b \t \n\f \r \" \' \\ です)』 というコンパイルエラーが出てしまいました。 <% out.println("<FORM METHOD=POST ACTION=\"./SearchServlet\">"); out.println("<INPUT TYPE=submit VALUE=\"申請承認\"></FORM>"); %> Webで調べましたが、特に参考ページがなく打つ手なしになってしまいました。 Eclipse等の設定で回避できるのしょうか? ご教授ください。 【環境】 WinXP J2SE1.4.2_05 Eclipse2.1.3 Tomcat4.1.24 Lomboz2.1.3

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • davosuke
  • ベストアンサー率61% (34/55)
回答No.2

こちらで検証した結果 (1)pageEncodingをISO8859_1にしたら消えました。 ※Lomboz2.1.32はバイト文字の扱いがもう一歩  S-JISに対応していない (2)Eclipse3.0で動かすと『エスケープシーケンスエラー』 は出ません。 Eclipse2.1.3で動かす場合は発生するので あきらめてください。 重いと思いますがEclipse3.0にアップすることを 推奨します。  

参考URL:
http://www.eclipsewiki.net/eclipse/index.php?%A5%B3%A5%E1%A5%F3%A5%C8%2FLomboz
b-u-z-z
質問者

お礼

davosuke さん、ありがとうございます。 Eclipse3.0ですか。もう少し勉強してからバージョンアップしてみます。

その他の回答 (1)

  • davosuke
  • ベストアンサー率61% (34/55)
回答No.1

JSPの先頭に 下記を追加してみてください <%@ page contentType="text/html; charset=shift_jis" %> 文字エンコードされてないからかと思われます。 以上

b-u-z-z
質問者

補足

ご回答ありがとうございます。 davosukeさんのご指摘箇所は、既に記述されています。 質問にコンパイルエラーと書きましたが、実際のコンパイルは正常?にいってるようです。 実行結果も正常でした。 ただEclipseのタスクには赤×印で 『エスケープ・シーケンスが無効です。(有効なものは \b \t \n\f \r \" \' \\ です)』 が出てしまうんです。 これはwarningエラーとしてあきらめるしかないのでしょうか?

関連するQ&A

  • EclipseでJSP、Servletを使うにはLombozしか無いの

    EclipseをEuropaにしました。 全然使いこなせていません。トホホ……。 pluginは沢山あるのですが、JSPやServletをサポート、支援してくれるモノがどれか分かりません。 Lombozがあるのですが、これではEuropaで無くてもいいわけでして。 『Eclipse Europa JSP Servlet』で検索してみましたが、ほしいモノはありませんでした。 どういう調べ方をすると見つかりますかね。 自分みたいなのはEclipseを使う資格が無いのでしょうか。 後は全部ベタ打ちですかね。

    • ベストアンサー
    • Java
  • コメントアウトされたエスケープシーケンスについて

    Java初心者です。 コメントアウトされた中のエスケープシーケンスの使い方について質問があります。 class sample{ public static void main(String args[]){ System.out.println("16進数 :\u0001") // System.out.println("16真数 :\ugggg") } } 上記のようなソースコードがあった場合、 System.out.println("16進数 :\u0001") については、当然Unicodeの16進数範囲内なので、 コンパイルエラーにならないのですが、 コメントアウトされている行 // System.out.println("16真数 :\ugggg") については、 コンパイルエラーになります。 エラーメッセージは「エスケープシーケンスが不正です。」 コメントアウトされているので、この行は無視されるものだと思っていたのですが、コンパイルエラーになるのは何故でしょうか。 どうかご教授願います。

  • eclipse でjspからJavaを実行するには

    eclipse 3.4 tomcat 4.1 j2sdk1.4.2 sysdeo 3.2.1 を使用し開発を行おうとしています。 なんとかeclipse上からtomcatを起動し、localhost:8080 を指定してjspの画面は出るようになったのですが、jspからJAVAを呼ぼうとすると エラーになってしまいます。 呼び出し部分は <form action="servlet/javahello.FileUploadServlet" method="post" enctype="multipart/form-data" name="form1"> 名前: <input type="text" name="name"> <br> ファイル: <input type="file" name="file1"> <br> <br> <input type="submit" name="Submit" value="送信"> <input type="reset" name="submit" value="リセット"> </form> とし、javaファイルは eclipse上のプロジェクト(tomcat_test)のWEB-INF/src/配下に servlet/javahelloを作ってFileUploadServlet.javaを入れています。 http://localhost:8080/tomcat_test/servlet/javahello.FileUploadServletを実行すると エラーは以下のようなエラーで HTTP Status 404 - /tomcat_test/servlet/javahello.FileUploadServlet javaファイルが見つけられていないと思うのですが、 jspからjavaを見に行く時はどのように参照しにいくのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 違うページのフォームデータをsubmitしたい

    失礼致します。 質問させてください。 下にあるjsp-Servletについて値の受け渡しに困っています。目的は、jspから表示される(ソースはservletにある)入力ボタンにてjspソース中のチェックボタンのon/off情報(画面から入力される。)をservlet2に受け渡したいのです。 しかし、submitボタンのあるソースとは違うソースにあるフォーム情報をどのようにして関連付けて飛ばせばいいか分かりません。 よろしくお願いします。 jsp ------------------------------------------ // servletをインクルード。入力ボタンがここに来る。 <jsp:include page = "/servlet" flush="true"> <jsp:param name="name" value="<%=name%>"/> </jsp:include> // 入力ボタンの下にチェックボックスが表示される。 int nSerial = requset.getParameter(Serial); <input type='checkbox' name='" + nSerial + "' value='on'> ------------------------------------------- servlet.java ------------------------------------------- // 入力ボタンのソースはここにある。 String name = req.getParameter(name); out.println("<form method=post action=servlet2>"); out.println(" <input type=hidden name=name value="+name+">"); out.println(" <input type=submit value='入力'>"); out.println("</form>"); --------------------------------------------

    • ベストアンサー
    • Java
  • エラーメッセージの表示

    最近ServletとJSPの勉強を始めたのものです。クライアント側で動くjavaのプログラムではエラーがよくわかり良かったのですが、Servlet,JSPではエラーのメッセージが少なくうまく原因が同定できません。(特にコンパイルは通っているのに、動かないとき)これまではWindowXP上でServletとJSPをうごかしていたのでまだTomcatの画面にSystem.out.println()を使って原因を調べることができました。最近リナックスにて同じ動作をするものを作ろうと思い始めたのですが、System.out.println()がコンソール上に表示できずに困っています。何かいい方法があるのでしょうか。とても困っています。

    • ベストアンサー
    • Java
  • eclipse + lomboz + tomcatでのサーブレットの実行方法

    お世話になります。 現在、eclipse + lomboz + tomcatを連携し、メッセージを表示するサーブレット(一部抜粋:参照1)を実行しようとしているのですが、ブラウザにエラーメッセージ(内容:ページが見つかりません HTTP 404 - ファイル未検出)が表示されてしまいます。デプロイ、debug serverは成功してるのですが、サーブレットファイルがうまく配置されてないのでしょうか? web.xmlのmappingやserver.xmlの設定はチェックしております(参照2)。 直接URLで指定したjspファイル、tomcatのサンプルサーブレットの表示はできます。 参照1 ********** SC.java の一部抜粋****************** PrintWriter out = response.getWriter(); out.println("HelloServlet"); *********************************************** 参照2 ********** server.xml ************  <Context path="/SC" reloadable="true" docBase="○○" workDir="○○" /> ********************************** ********** web.xmlの編集 ********** <servlet> <servlet-name>SC</servlet-name> <servlet-class>SC</servlet-class> </servlet> <servlet-mapping> <servlet-name>SC</servlet-name> <url-pattern>/SC</url-pattern> </servlet-mapping> ********************************** ソフトのバージョン  Eclipse:3.0.2  rg.objectweb.lomboz_3.0.1.N20050106  emf-sdo-xsd-SDK-2.0.2  tomcat4.1.27 一般的に何か足りない点や間違ってる点がありましたらご教授願います。 宜しくお願いします。

  • Eclipseコンソールでのエスケープシーケンス

    EclipseでJavaのプログラムを開発しておりますが、Eclipseのコンソールでエスケープシーケンスを利用した時の振る舞いがSDKのJavaコマンドで直接動作させた時と違うのは何故でしょうか? 例えば以下の"\r"の動作はJavaコマンドの方ですと現在の行に上書きされる形で表示されます。 for( int i = 0; i < 10; ++i ) { System.out.print( "\r" + i ); Thread.sleep( 100 ); } 上記のコードをEclipseのコンソールを利用すると Eclipseのコンソールでは改行されて表示されてしまいます。 Eclipseでの開発が行い易いため、Eclipseのコンソールの動作をきちんと本家に合わせる設定方法等ご存知でしたら教えて下さい。

    • ベストアンサー
    • Java
  • JSPのエスケープ文字について

    JSPのコーディングで困っています。 以下のようにプルダウンを作成したいのですが、JSPのスクリプトレットとエスケープ文字がどうやら相性が悪いのか、想定と違う結果が画面に表示されてしまいます。 <JSPのコーディング>  <option value=<%=xxxxx%>>"&%<></option>  (xxxxxは定義済の変数です) <出力結果>  >"&%<> <期待結果>  "&%<> どうやら「"&%<>」のようにエスケープ文字で構成された文字列を間に挟むと、<option>タブの末尾の「>」が先頭に出てきてしまうようなんです。 どなたがJSPやJavaにお詳しい方、アドバイスをお願いします!

    • ベストアンサー
    • CSS
  • サーブレットが起動しない

    HTMLのSubmitボタンを押すと、Sample_Servletにリクエストが 送信されます。そして、JSPを表示します。 その後、JSPのSubmitボタンを押すと 何もかわりません。Servletにリクエストが わたってないのだと思います。 <FORM ACTION ="sample.Sample_Servlet" METHOD = "POST"> ・・・ <INPUT TYPE = "submit" NAME="btn" VALUE ="btn"> としているのですが、、、、 何か心当たりがありましたらお願いします。

    • ベストアンサー
    • Java
  • classファイルが作成されない

    コマンドを使ってjavaを実行しclassファイルを作成しようとしているのですが、実行できません。 実行したいパターンとしてhtml→javaファイルを呼び出す形にしたいのですが、クラスファイルができません。 javaファイルの存在する箇所に設定し,javac srv_escape.javaを記入すると 以下のエラーが出ました。このときの解決策はどのようにすればいいのでしょうか? Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main と出ます。 他のQ&Aを見たりはしてたのですがよくわからなかったので質問しました。 このときの状態としてjavaソースの場所はC:\Program Files\Apache Tomcat 4.0\webapps\jsp10でjavac.exeファイルあり。 htmlファイルはC:\Program Files\Apache Tomcat 4.0\webapps\jsp10\day08-2においています。 ソース内容が html <html><head> <title>予約文字のエスケープ></title> </head> <body> <h1>予約文字のエスケープ</h1> <form name="POST" action=/jsp/servlet/srv_escape"> 入力文字: <input type="text" name="esc" size="30" /> <input type="submit" value="送信" /> </form> </html> java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class srv_escape extends HttpServlet { int i; public void doPost(HttpServletRequest request, HttpServletResponse response ) throws ServletException,IOException { response.setGontentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); out.println("<html><head>"); out.println("<title>予約文字のエスケープ</title>"); out.println("</head><body>"); out.println(<h1>予約文字のエスケープ</h1>"); out.println("入力した文字:"); out.println(strEscape(request.getParameter("esc"))); out.println("</body></html>"); } private String strEscape(String strEsc){ StringBuffer strResult=new StringBuffer(); for(int i=0;i<strEsc.length();i++){ switch(strEsc.charAt(i)){ case '&': strResult.append("&amp;"); break; case '<' : strResult.append("&lt;"); break; case '>' : strResult.append("&gt;"); break; default: strResult.append(strEsc.charAt(i)); break; } } return strResult.toString(); } } です。 よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう