java - request.getAttribute() 在 jsp 中没有显示正确的输出

标签 java jsp servlets

我正在通过 request.setAttribute 将 html 字符串从 servlet 发送到 jsp 页面,但是当我尝试在 jsp 上获取它时,它没有正确显示在 View 中。

服务小程序:

String sampleHtml = ""
    + "<table class=\"table table-bordered\">"
        + "<thead>"
                + "<tr>"
                    + "<td>Data</td>"
                    + "<td>More Data</td>"
                + "</tr>"
        + "</thead>"
        + "<tbody>"
            + "<tr>"
                + "<td>Macdonal</td>"
                + "<td>David</td>"
            + "</tr>"
        + "</tbody>"
    + "</table>";           
}

request.setAttribute("userRoles", sampleHtml);

jsp:

<p>
    <label>Set Roles</label>
    <span class="field">
        <%=request.getAttribute("userRoles") %>
    </span>
</p>

当我重新加载时,我的 View 结果变得完全错误。表格超出了 span 标签。我附上了图片以清楚地知道出了什么问题! enter image description here

最佳答案

span 默认是一个内联元素。它不能包含 block 元素。因此,您不能向其中添加表格。考虑将 span 更改为 div。

来自 span docs

The HTML element is a generic inline container for phrasing content, which does not inherently represent anything.

请不要在 servlet 中编写 HTML。使用 JSTL 或 JS。

关于java - request.getAttribute() 在 jsp 中没有显示正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33733770/

相关文章:

java - 如何从对象数组中创建 GUI 列表?

java - 将选择的日期而不是当前日期获取到 JDBC

java - ServletTest配置setResourceBase来定位JSP

tomcat - httpclient:通过 https 将 HttpResponse 复制到 HttpServletResponse

java - Java 中的规范文件路径 - 优化问题?

java - 使用 SpringFlux 的 webclient 重复 Mono

java - GameServer World Management

javascript - YUI 3 TabView 问题

jsp - 从任何 JSP 文件访问 context.xml 环境变量

java - 如何使用 Java 获取 XML 节点值?