お世話になります。
Java6のサーブレット内で、半角の&(アンド)文字を
String属性の変数であるstrMessageにセットした上で、
その文字データを、
request.setAttribute("err_message", strMessage);
this.getServletContext().getRequestDispatcher(
"/WEB-INF/jsp/errorMessage/FormError.jsp").forward(
request, response);
としてセットすると、JSP画面上では、
&
という文字で、Webブラウザ上に表示されてしまいます。
これを正しい半角の&(アンド)文字で表示させるには、
Javaのサーブレット内において、
どのように値をセットすればよろしかったでしょうか?
以上になります。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
><c:out value="${fn:escapeXml(err_message)}" />
c:outで出力するときには、デフォルトでエスケープ処理されます。
(escapeXml="false"とすればエスケープ処理はされません。)
この記述ではfn:escapeXmlでエスケープ処理した文字列をさらにエスケープ処理することになります。
つまり、
& → & →&amp;
となるため、「&」と表示されてしまうのです。
ですので、
<c:out value="${err_message}" />
とすればいいです。
「yamada_g」様
お世話になります。
お礼のレスポンスが遅くなってすみません。
先週、ご回答いただきましたように、
私の方で、つい先ほど、
<c:out value="${err_message}" />
として試したところ、
半角の&(アンド)文字を、無事に
JSP画面上に表示することが出来ました。
丁寧なご回答をいただきまして、
本当に助かりました。
また機会がございましたら、
よろしくお願い致します。
ありがとうございました。
No.2
- 回答日時:
それはサーブレットでの問題ではなく、画面表示時のエスケープ処理の問題です。
JSPのソースも記載した方がいいと思いますよ。
この回答への補足
了解いたしました。
JSPのソースを以下に添付いたします。
<%@ page session="false" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="../error/SystemError.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>システムエラー画面</title>
<link rel="stylesheet" type="text/css" href="./style.css">
</head>
<body>
<h1>入力エラー</h1>
<p>
入力された内容に対して、次のエラーが発生しました。<br>
</p>
<ul><c:out value="${fn:escapeXml(err_message)}" /></ul>
<a href="javascript:history.back()">戻る</a><br />
</body>
</html>
以上になります。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/04/01 09:10
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダブルクォーテーションのrepla...
-
カタカナをローマジに変換する。
-
javaで質問です。 文字列2023/2...
-
cookie から取り出すと文字化け
-
Path型をString型へ変換する(Java)
-
javascriptで文字列のsjis利用...
-
int型のゼロ埋め
-
JAVAでSJISのコード変換
-
タイピングゲーム作成中 複数...
-
PerlプログラムをJavaに変換す...
-
世界測地から日本測地への変換...
-
JavaのStringクラスに「外字」...
-
Oracle BLOB→Byte→.tif の変換
-
C言語32bitから64bitの移行につ...
-
文字コード変換
-
エクセルVBAで「〜」が表現でき...
-
EXCEL 特定の文字+英数文字を...
-
phpでの文字コード変換について
-
Visual Studio 6.0でビルド可能...
-
長いファイル名が化けてしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
カタカナをローマジに変換する。
-
int型のゼロ埋め
-
javascriptで文字列のsjis利用...
-
byte[] を long,float とかに...
-
C言語32bitから64bitの移行につ...
-
JavaのStringクラスに「外字」...
-
javaの初歩的な質問です。
-
UTF-8とUnicodeの互換性
-
Visual Basic でのコードをASCI...
-
文字列の比較
-
下記問題の答えが"D"になる意味...
-
[Javascript]エンターキー押下...
-
エクセルVBAで「〜」が表現でき...
-
byte配列をImageに変換する
-
javaで「全角が含まれているか...
-
IBM漢字コード⇒SJIS変換方法
-
COBOLで半角カナを全角カナに変換
おすすめ情報