有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring正在吃标签

在我的web应用程序(我第一次使用Java、Spring或Roo)中,我构建的表单与任何JPA对象无关,它只是一个表单。我真的不想在这里使用JSTL来构建表单,因为目前还没有数据支持。我用瓦片来组装页面,所以这个表单的精髓来自一个视图,但除此之外,它没有任何JSPIS;这只是一种形式

在这个表单中,我写了一个文本区域:

<textarea id="whatever" name="whatever"></textarea>

在屏幕上显示时,</textarea>;标签不见了。不同的浏览器处理这个问题的方式有所不同,包括在文本区域字段中吞下整个HTML正文的其余部分

所以我试着把一些内容放进文本区。空格和换行符不会改变其行为,但似乎任何非空格字符都会改变。如果我去

<textarea>.</textarea>

。。。它尊重我的近距离文本区域标签。当然,我的文本区域会在屏幕上呈现一个点,这不是我想要的

这是一个已知的问题吗?我做错什么了吗

编辑: @博兹霍:以下是我的jsp的一个相关部分:

<div id="notes" class="detailPanel">
    <div class="panelLabel">Notes</div>
    <table >
    <thead><tr><th>Date</th><th>By</th><th>Note</th></tr></thead>
    <tbody id="notesBody"></tbody>
    </table>
    <textarea id="newNote" rows="5" cols="80" >.</textarea>
    <button id="addNewNote" onClick="saveNote();">Add New Note</button>
</div>

这里绝对没有什么奇怪的事情(我用客户机上的行填充tbody,这就是为什么它是空的)。如果从第三行到最后一行没有点,结束文本区域标记不会出现在结果HTML中

EDIT2(解决方案):

在听到人们在这里回复的一些关键词后,这个URL变得谷歌化: http://www.jroller.com/komu/entry/textareas_with_jspx

事实证明,当解析jspx页面时,空标记会折叠成一个单独的自动关闭标记,这会打断文本区域。解决方案是在中间放置一个空的jsp:text:

<textarea><jsp:text /></textarea>

(这非常愚蠢,但事实就是如此。)


共 (1) 个答案

  1. # 1 楼答案

    您正在使用jspx文件,对吗? 一般来说,jspx会删除一些东西(或者在你的例子中,它会缩短它:检查这个:我希望它会在前面的开始标记上加一个斜杠,所以它会变成:<textarea id="whatever" name="whatever"/>),它认为不需要这样做。具体取决于具体的实施

    因此,在文本区域标记中放置一个<jsp:text>标记,以防止它“关闭”

    <jsp:text>
        <textarea id="whatever" name="whatever"></textarea>
    </jsp:text>
    

    <textarea id="whatever" name="whatever"><jsp:text /></textarea>
    

    一个更复杂的例子,看看这个答案:websphere 7 (and Spring Roo) incompatible with javax.el.ELException