- - PR -
助けてください。どこかに、エラー原因「out.write('n');」があるの?
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-09-14 06:49
すみません、徹夜で頑張ったのですがギブアップです。教えてください。
以下の26行目から48行目の部分で'\n'エラーがあり、いろいろ回避方法を試してみましたが、自分の力では解決できません。どこに'\n'原因があるのでしょうか? -----------環境:Linux(Fedora2)--------------- *JSPソースの一部* ======================================== <script language="javascript"> <c:catch var="errorMsg"> <c:choose> <c:when test="${param.mid=='insert'}" > <sql:update> INSERT INTO usr (email) VALUES (?) <sql:param value="${param.email}" /> </sql:update> window.alert("<fmt:message key='jstlMsg.sbm.msg' bundle='${msg}' />"); </c:when> <c:when test="${param.mid=='delete'}" > <sql:update> DELETE FROM usr WHERE email=? <sql:param value="${param.email}" /> </sql:update> window.alert("<fmt:message key='jstlMsg.del.msg' bundle='${msg}' />"); </c:when> </c:choose> </c:catch> </script> <c:if test="${errorMsg != null}"> <hr /><font color="red"><c:out value="${errorMsg}"/></font><hr /> </c:if> *エラーメッセージ* ======================================== org.apache.jasper.JasperException: JSP??????????????? JSP????: /jsp/usrSubmit.jsp ???43????????????? ?????????????????: /usr/local/tomcat/work/Catalina/localhost/jakarta10/org/apache/jsp/jsp/usrSubmit_jsp.java:371: while ??????? out.write('\n'); ^ JSP????: /jsp/usrSubmit.jsp ???43????????????? ?????????????????: /usr/local/tomcat/work/Catalina/localhost/jakarta10/org/apache/jsp/jsp/usrSubmit_jsp.java:371: '(' ??????? out.write('\n'); ^ JSP????: /jsp/usrSubmit.jsp ???27????????????? ?????????????????: /usr/local/tomcat/work/Catalina/localhost/jakarta10/org/apache/jsp/jsp/usrSubmit_jsp.java:354: 'try' ?? 'catch' ??? 'finally' ??????? try { ^ JSP????: /jsp/usrSubmit.jsp ???27????????????? ?????????????????: /usr/local/tomcat/work/Catalina/localhost/jakarta10/org/apache/jsp/jsp/usrSubmit_jsp.java:379: ?????????? } catch (Throwable _jspx_exception) { ^ ?????????????????: /usr/local/tomcat/work/Catalina/localhost/jakarta10/org/apache/jsp/jsp/usrSubmit_jsp.java:387: <identifier> ??????? return false; [ メッセージ編集済み 編集者: ryo 編集日時 2004-09-14 14:34 ] |
|
投稿日時: 2004-09-14 07:18
usrSubmit_jsp.java を確認してみてはいかがでしょうか?
|
|
投稿日時: 2004-09-14 10:17
関係ないかもしれませんが、
>window.alert("<fmt:message key='jstlMsg.sbm.msg' bundle='${msg}' />"); JavaScriptの文字列の中でもJSPタグの引数は""でくくっていいのではないでしょうか? |
|
投稿日時: 2004-09-14 11:05
outオブジェクトが見つからずコンパイルエラーになっていると思います。
ソースの最初に下記の行を追加して見てください。 <%@ page import="java.io.PrintWriter" %> |
|
投稿日時: 2004-09-14 14:32
皆さん、ご返事有難うございます。
>インキさんの御提示: すみません。「usrSubmit_jsp.java」はこれ自身「usrSubmit.jsp」がJavaソースになったものです。ソースを全部公開してないために、御迷惑かけてすみません。 >taroさんの御提示: 今回の件には関係ないようです。でも、折角なので、windowsでは融通がきくと思うのですが、Linux環境でも可能かどうかは正直分からないので、後程試してみます。 >未記入さんの御提示: すみません。ソースを全部公開してないために、御迷惑をおかけして。<%@ page import="java.io.PrintWriter" %>については、今回<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>を使ってます。 明らかに、<c:...>のどこかに問題があり、<%@ include .... %>の out.write('\n'); が入ってしまうエラーと同じであるのは分かっています。どこがその原因なのかがわかりまん。誰か助けてください 以下にソースを全部掲載します(外部ソースには問題無いので掲載はしません。)。 ========================================= <%@ page contentType="text/html; charset=EUC_JP" %> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %> <fmt:setLocale value="${header['accept-language']}" /> <fmt:setBundle basename="jstlMsg" var="msg" /> <html> <head><title><fmt:message key="jstlMsg.title" bundle="${msg}" /></title></head> <body> <h1 style="color:white;background-color:#0086b2;"><fmt:message key="jstlMsg.title" bundle="${msg}" /></h1> <form method="POST" action="/jsp/usrSubmit.jsp"/> <table border="0"> <tr><th align="right"><fmt:message key="jstlMsg.mid" bundle="${msg}" />:</th> <td><input type="radio" name="mid" value="insert" checked><fmt:message key="jstlMsg.mid.new" bundle="${msg}" /></input> <input type="radio" name="mid" value="delete"><fmt:message key="jstlMsg.mid.del" bundle="${msg}" /></input></td> </tr> <tr><th align="right"><fmt:message key="jstlMsg.email" bundle="${msg}" />:</th> <td><input type="text" name="email" size="60" maxlength="255" /></td> </tr> <tr><td colspan="2"><input type="submit" value="<fmt:message key='jstlMsg.submit' bundle='${msg}' />" /> <input type="reset" value="<fmt:message key='jstlMsg.reset' bundle='${msg}' />" /></td> </tr> </table> </form> <fmt:requestEncoding value="EUC_JP" /> <script language="javascript"> <c:catch var="errorMsg"> <c:choose> <c:when test="${param.mid == 'insert'}" > <sql:update> INSERT INTO usr (email) VALUES (?) <sql:param value="${param.email}" /> </sql:update> window.alert("<fmt:message key='jstlMsg.sbm.msg' bundle='${msg}'/>"); </c:when> <c:when test="${param.mid == 'delete'}" > <sql:update> DELETE FROM usr WHERE email=? <sql:param value="${param.email}" /> </sql:update> window.alert("<fmt:message key='jstlMsg.del.msg' bundle='${msg}'/>"); </c:when> </c:choose> </c:catch> </script> <c:if test="${errorMsg != null}"> <hr /><font color="red"><c:out value="${errorMsg}"/></font><hr /> </c:if> </body> </html> ========================================= 御指導の程、よろしくお願いします。 |
|
投稿日時: 2004-09-14 14:41
るぱんです。
素朴な疑問です。 scriptタグから出てるエラーハンドらの<c:if>ってありなんですか? |
|
投稿日時: 2004-09-14 15:35
>scriptタグから出てるエラーハンドらの<c:if>ってありなんですか?(るぱんさんより)
自分は、正直分かりません。すみません。 ただ<c:if>はエラーハンドラではないように思います。<c:catch>〜</c:catch>がtry...catch...finallyまでの働きをするので、<c:if>はfinally内になると思います。 実際、<script language=.....>とwindow.alert(........);はカットして実施しましたが、同じ結果になります。 でも、これ、凄いヒントになりました。原因がかなり絞れました。上記から考えると、<c:catch>〜</c:catch>内に out.write('\n');の原因があるようです。誰か教えてください。 |
|
投稿日時: 2004-09-14 15:48
うーん、インギさんの回答は調査されましたでしょうか?
ソースファイル見れば一発な気がしないでもないのですが。 tomcatでしたらjspのjavaファイルはworkかどっかの ディレクトリに入っていませんでしたっけ。 #### ああ、インギさんへの返信もありましたね。 申し訳ないです。 jspファイルをjavaソース化したファイルはどこかに あるので、それを見た方が早いのでは?という回答 だと思うのですが、見られました? [ メッセージ編集済み 編集者: (株)ぽち 編集日時 2004-09-14 15:51 ] [ メッセージ編集済み 編集者: (株)ぽち 編集日時 2004-09-14 15:53 ] |
