Простой div-макет отображается иначе, как в jspx - PullRequest
1 голос
/ 06 апреля 2011

В течение нескольких дней я пытался выяснить, что происходит с моим макетом, когда он отображается в браузере.

моя среда:

  • Версия SpringSource Tool Suite:2.6.0.RELEASE
  • плитки
  • jspx + CSS
  • JavaScript InfoVis Toolkit

моя проблема:

У меня естьчтобы сделать очень простой раздел из более крупного проекта, где у меня есть небольшая форма для выбора, он запускает запрос к серверу и получает объект 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 и т. Д. Я только начал работать в реальных веб-приложениях.

Ответы [ 3 ]

0 голосов
/ 13 июля 2011

В jspx не может быть пустых элементов блока:

Вместо:

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

Попробуйте

<div id="log">&#160;</div>
0 голосов
/ 09 января 2012

Свойство id должно иметь уникальное значение (предпочтительно комбинацию цифр и алфавитов).Наличие уникального значения для элемента id должно решить вашу проблему.

0 голосов
/ 07 апреля 2011

ОК, похоже, проблема была в разборе JSPX (или даже в обычном jsp)

, если у <div></div> нет «текста» внутри, это как бы вытаскивает </div>для всех <div> (и, возможно, других тегов) и поскольку 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> и, как у вас есть текствнутри, чтобы вы получили то, что было закодировано в первую очередь.

Хорошо, вот как я думаю, что это работает, возможно, я совершенно не прав, но как-то это работает для меня, и сэкономит нам мучительное время, когда этоначать появляться в других частях системы.Вы знаете какой-нибудь другой способ решить эту проблему?или настоящая причина, почему это происходит?

...