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>

这个或任何其他变体。

有没有人遇到过类似的问题或知道是什么原因造成的?spring、tiles、脚本、jspx 实现?

我不能过多地处理其他代码或配置,因为我们处于非常高级的阶段,我不想影响其他领域。

注意:我以前更多地使用 c/c++ 和实时的东西,所以我对 CSS、jsp 等不是很流利。我刚开始在真正的 Web 应用程序中工作。

4

3 回答 3

0

好的,看来问题出在 JSPX 解析(甚至是普通的 jsp)上

不知何故,如果<div></div>里面没有“文本”,它会</div>为所有<div>(可能还有其他标签)取出</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>在 required 之后放置,<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 回答