質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XHTML

XHTMLは、eXtensible HyperText Markup Languageの略であり、SGMLベースであるHTMLとは違って、有効なXMLドキュメントにもなるHTMLアプリケーションです。XMLベースのツールを用いて生成されるHTMLページのためによく使われるマークアップ言語です。

Q&A

解決済

1回答

1216閲覧

xhtml上で連続する半角スペースを表示したい

takamelon

総合スコア3

XHTML

XHTMLは、eXtensible HyperText Markup Languageの略であり、SGMLベースであるHTMLとは違って、有効なXMLドキュメントにもなるHTMLアプリケーションです。XMLベースのツールを用いて生成されるHTMLページのためによく使われるマークアップ言語です。

0グッド

0クリップ

投稿2020/09/14 04:52

前提・実現したいこと

xhtml上で連続する半角スペースを表示したい

発生している問題・エラーメッセージ

サーバー側(java)で「123  45」と設定した文字を
xhtml上で表示させるとそのまま「123  45」と表示される。

該当のソースコード

ソースコード

試したこと

123  45以外に、123  45
とかでも試したが、やはりそのまま表示されてしまう。

補足情報(FW/ツールのバージョンなど)

何か有用な情報がありましたら、ご教示願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/09/14 05:10 編集

質問者さんの言う xhtml で表示はどういうことですか? ブラウザに渡されるとき & がエスケープされて & に変わっているのが原因ということはないですか?
takamelon

2020/09/14 05:18

回答ありがとうございます。 xhtml上に配置したラベル上にjavaから渡した文字列を表示させようと思っているのですが、 をそのままの文字列として表示されてしまうということが現在の事象です。こちらとしては半角スペースが2つ連続で表示されることを期待していました。
退会済みユーザー

退会済みユーザー

2020/09/14 05:22 編集

java からブラウザに渡されるとき & がエスケープされて & に変わっているのが原因ということはないですか?
takamelon

2020/09/14 05:33

そういうことはないと思いますが。何も変わらないで表示されていますが、変化があるならこちらが意図したものでないにしろ、何かしら設定したものとは違う何かが表示されると思いますが。何かこちらで勘違いしていることがあるかもしれませんが。
退会済みユーザー

退会済みユーザー

2020/09/14 05:41

私が何を言っているか分からないようですので、後で回答欄に画像入りで説明しておきます。回答にはなってないかもしれませんが画像はコメント欄には貼れないのでご容赦を。
Daregada

2020/09/14 10:25

「xhtmlで表示」とは、ブラウザーにページとしてレンダリングされた状態のことですか? (はい/いいえ) (はい、の場合)「xhtmlで表示」された状態のページで、「ソースを表示」をブラウザーで実行すると、ソースの画面で該当部分はどのように書かれていますか?
退会済みユーザー

退会済みユーザー

2020/09/15 01:25

質問者さん、無言になってしまいましたが、「質問者さんの言う xhtml で表示はどういうことですか?」と Daregada さんの質問に答えてください。とにかく無言は NG です。マナー的にも。
takamelon

2020/09/15 02:24

返信遅れてすみません。PC使うのが毎日ではないので遅れることもあることご理解いただければと思います。xhtml上で表示というのは、「123  45」と表示されることを意味してました。
Daregada

2020/09/15 02:35

話がいっこうに進まない。その「表示される」とは、どのアプリのどこに表示されるのかを、回答者たちは聞きたいのですよ。「xhtmlを表示させているアプリは何ですか?」 例えば、「Google Chromeに通常のページとして(XHTMLがレンダリングされて)表示される」のであれば、「そのページ上に表示される&記号は、実際には&がレンダリングされたものです」といった答えを返せるのです。
takamelon

2020/09/15 02:47

すみません。そのような知識がなく質問してしまい。回答される側の意図がわかりませんでした。IE11とChromeに表示させようとして、「<div><span>123&nbsp;&nbsp;45</span></div>」となっています。
Daregada

2020/09/15 02:56

それは、サーバー側で設定しているXHTMLの一部ですよね。 (質問1) それを含むページをIE11とChromeで「実際に」表示させていますか? (質問2) IE11やChromeのページ内に「&nbsp;」と表示されていますか? (質問3) どちらのブラウザーでもいいので、表示しているページを右クリックして「(ページの)ソースを表示」を選択すると、「&nbsp;」の表示に該当する部分には何と書かれていますか?
takamelon

2020/09/15 03:01

1→実際に表示させています。 2→IE11やChromeともに「&nbsp;」と表示されています。 3→2と同じでどちらも「&nbsp;」と表示されています。
Daregada

2020/09/15 03:33 編集

XHTMLをHTMLに変更することは可能ですか? 何らかの問題があってそれが難しいのなら、まずは「&nbsp;」を「&#160;」に変更します。 XHTMLだと「&npsp;」は使えず「&#160;」でないとエラーになるので、まずはその部分の影響を取り除きましょう。 その上で、質問文にあるように「ブラウザーの画面に&#160;」と表示されるのであれば、その原因を探るほうがいいですね。
takamelon

2020/09/15 03:35

すみません、検証PCは外部と隔離されたものでデータを外に出すことができません。(ネットワークから隔離されております)また画面の写真も規定で撮ることができずこちらに載せることは不可となっています。 ※仕事の都合でこの後8時間ほどアクセスできないので回答もできなくなります。
Daregada

2020/09/15 03:43

それじゃご自分でがんばってくださいとしか言えませんね。
takamelon

2020/09/15 09:47

すみません。ありがとうございました。
guest

回答1

0

ベストアンサー

質問へのコメントで「私が何を言っているか分からないようですので、後で回答欄に画像入りで説明しておきます」と書いた件です。

Java から渡すというのはどうなるか不明ですので、質問者さんのケースと以下の説明は違うかもしれません。その場合は回答にはなってないかもしれませんがご容赦を。

フレームワークによっては XSS 対策のためブラウザに送信される文字は全てエスケープ(HTML エンコード)します。例えば ASP.NET MVC がそうです。

具体例は以下の通りです。質問者さんの Java でも同じことになっているのではないかと想像してます。チェックしてみてください。

Controller

イメージ説明

View

イメージ説明

Chrome で表示

イメージ説明

HTML ソース

イメージ説明

& が & にエスケープされているのが分かりますか?

投稿2020/09/14 05:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takamelon

2020/09/14 06:47

調べてみましたが、そのようなエスケープは発生しておりませんでした。 xhtmlソース内には「123&nbsp;&nbsp;45」となっておりました。
退会済みユーザー

退会済みユーザー

2020/09/14 07:37

最初の質問に戻りますが、質問者さんの言う xhtml で表示はどういうことですか? 普通に html でも、いわゆる xhtml でも、ブラウザで表示するならエスケープされてないかぎりあり得ない話と思います。
退会済みユーザー

退会済みユーザー

2020/09/15 01:32

質問者さん、無言になってしまいましたが、上の「質問者さんの言う xhtml で表示はどういうことですか?」に答えてください。とにかく無言は NG です。マナー的にも。 https://teratail.com/help/question-tips に書いてあるように、Teratail は「質問と回答を通してお互いに知識や情報を交換・共有する場所」ということです。ここを利用する以上質問者さんも情報提供してください。
takamelon

2020/09/15 02:24

返信遅れてすみません。PC使うのが毎日ではないので遅れることもあることご理解いただければと思います。xhtml上で表示というのは、「123&nbsp;&nbsp;45」と表示されることを意味してました。
退会済みユーザー

退会済みユーザー

2020/09/15 04:28

> xhtml上で表示というのは、「123&nbsp;&nbsp;45」と表示されることを意味してました。 話が通じてないようです。 ごく簡単なサンプルで良いので「123&nbsp;&nbsp;45」と表示されるときのブラウザ(Chrome ですよね?)の画面を右クリックして出てくるメニューで[ページのソースを表示(V)]を選択して表示されるソースをコピペして質問欄に追記してください。
takamelon

2020/09/15 09:49

検証PCそのものの状態は、上にも書いたのですがネットワーク外のものなので持ってくることができません。その部分に関しては、123&nbsp;&nbsp;45が表示されているだけなので、それ以上もうこちらに載せることもできないです。いろいろお付き合いいただきありがとうございました。ご迷惑おかけして申し訳ございません。
退会済みユーザー

退会済みユーザー

2020/09/15 10:00

話が通じないし、これ以上はお互い時間と労力も無駄ということらしいので、自分もここからは撤退します。情報提供ができないなら、ここのようなサイトで質問するのは今後は控えていただきたいと思います。
Daregada

2020/09/20 09:15

「検証PCは外部と隔離されたものでデータを外に出すことができません。(ネットワークから隔離されております)」だとすると、この質問に提示されている「●●と表示される」も(一度この質問者の目と手を通じて解釈されたものなので)信頼性が大幅に落ちる。 実は、「実際のPCには&amp;と(全角で&が)書いてあった」みたいなオチでも驚かないな。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問