1

ブラウザでレンダリングしたときにレイアウトに何が起こっているのかを数日間把握しようとしています。

私の環境:

  • SpringSource ツール スイートのバージョン: 2.6.0.RELEASE
  • タイル
  • jspx + CSS
  • JavaScript InfoVis ツールキット

私の問題:

選択を行うための小さなフォームがある大きなプロジェクトから非常に単純なセクションを作成する必要があります。サーバー要求をトリガーし、json オブジェクトを取得して infovis ツールキット (javascript) からスペースツリーをプロットします。ツリーのノードを選択すると、Ajax リクエストで取得した情報を含むテーブルが表示されます。この複雑なコーディングはすべて魔法のように機能しますが、問題はそれを表示するときに発生します。だから私はこのようなことをしたい:

<div id="1>
   <form>
</div>
<div id="2">
   <div id="infovis"></div>
   <div id="log"></div>
</div>
<div id="2">
   <table id="someID"></table>
</div>

cssには、プレーンなHTMLで問題なく機能するフォーマットが含まれています

しかし、展開してレンダリングすると、次のようなものが得られました:

<div id="1>
   <form>
</div>
<div id="2">
  <div id="infovis">
     <div id="log"></div>
     <div id="2">
        <table id="someID"></table>
     </div>
     <div id="footer"></div> //this is injected cause the tiles specification
  </div>     
</div>

これまたはその他のバリエーション。

誰かが同様の問題を抱えていたり、何が原因であるかを知っていますか? 春、タイル、スクリプト、jspx 実装?

私たちは非常に進んだ段階にあり、他の領域に影響を与えたくないので、他のコードや構成をあまりいじることはできません。

注: 私は以前は c/c++ とリアルタイムのものを扱っていたので、CSS や jsp などについてはあまり流暢ではありません。実際の Web アプリケーションで作業を始めたばかりです。

4

3 に答える 3

0

OK、問題は JSPX 解析 (または通常の jsp) にあったようです

どういうわけか、<div></div>内部に「テキスト」が含まれていない場合は</div>、すべての<div>(およびおそらく他のタグ)の for を取り出し、jspx は</div>何らかの形で閉じる必要があるため、不足しているものを最後に追加します

のようなもの

<div id="1"></div>
<div id="2"></div>

に行く:

<div id="1">
    <div id="2">

そして、ブラウザに表示されるのは次のとおりです。

<div id="1">
    <div id="2">
    </div>
</div>

これを回避するには<jsp:text></jsp:text>、必要な後に配置する必要があり<div>、内部にテキストがあるようなもので、最初にコード化されたものを取得します。

おそらく私は完全に間違っているかもしれませんが、どういうわけかそれは私のために働いており、システムの他の部分に現れ始めたときの苦痛な時間を節約します. これを解決する他の方法を知っていますか?またはこれが起こる本当の理由は?

于 2011-04-07T18:15:57.967 に答える
0

.jspx ファイルに空の HTML ブロック要素を含めることはできません。

それ以外の:

<div id="log"></div>

試す

<div id="log">&#160;</div>
于 2011-07-12T22:42:52.213 に答える
0

id プロパティには、一意の値 (できれば数字とアルファベットの組み合わせ) を指定する必要があります。id 要素に一意の値を設定すると、問題が解決するはずです。

于 2012-01-09T09:56:19.443 に答える