gpt4 book ai didi

java - 在 Servlet 中构建 HTML 添加额外的引号

转载 作者:行者123 更新时间:2023-12-01 11:19:21 25 4
gpt4 key购买 nike

所以我尝试在 Spring Controller 中构建一些 HTML 标记。示例代码:

append(sb ,"<div class=&quot;myDiv&quot;>");

它在浏览器上生成以下 HTML 源代码:

<div class=""myDiv"">

附加代码:

private void append(StringBuilder sb, String value) {
sb.append(value).append(System.getProperty("line.separator")).append('\n');
}

我的问题是,为什么生成的 HTML 代码在文本 myDiv 周围有一组额外的“”?我的 Controller 方法是生成以下 HTML:

@RequestMapping(value = "/getSerialRanking", method = RequestMethod.POST, produces = MediaType.TEXT_HTML_VALUE)
@ResponseBody
public String getSerialRankings(@RequestParam(value = "serialNumber", required = false) String serial){

最佳答案

在 html 中,不带引号的单字属性是合法的

<div class=myDiv>

由您的浏览器转换为此

<div class="myDiv">

基于这些知识,我假设您的 Spring Controller 会自动将值转换为 <div class="&quot;myDiv&quot;"> 然后您的浏览器将 &quot; 转换为合法的 HTML 实体 "

The &quot; is ignored until it reaches the browser where it is converted to a legal HTML entity "

最后,我认为您可以安全地删除这种情况下的 &quot;。或者,如果您在 HTML 属性中使用多个单词,请使用 @ElliottFrisch 解决方案:

append(sb ,"<div class=\"myDiv\">");
append(sb ,"<div class='myDiv'>");

关于java - 在 Servlet 中构建 HTML 添加额外的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com