gpt4 book ai didi

html - JSF 传递元素导致偏离结束标记

转载 作者:行者123 更新时间:2023-11-28 01:40:13 24 4
gpt4 key购买 nike

在我的 JSF 项目中,我尝试使用 JSF 传递来利用与 HTML5 兼容的标记,而不是 PrimeFaces 组件。但它似乎会导致空元素(如 hr、img、br)出现额外的结束标记,这会破坏我的布局。

这是我的完整代码。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>JSF Passthrough Test</title>
</head>
<body>
<form>
<input id="inputSearch" size="40" value=""/>
<button type="button" class="btn btn-default" jsf:id="searchbutton">
<span class="glyphicon glyphicon-search"></span> Find
</button>
</form>
<img src="http://i.imgur.com/atz81.jpg" alt="Cat + Unicorn"/>
</body>
</html>

这为浏览器提供的是一个额外的结束 img 标签,用于我在它之后的图像。 (如果我在按钮之前移动图像,没问题。)

<img src="http://i.imgur.com/atz81.jpg" alt="Cat + Unicorn" />
</img>

我在这里遗漏了什么或做错了什么吗?谢谢。

最佳答案

那里!我创建了一个复制您的代码行的项目。我没有在 DOM 上呈现额外的 img 标签,但是,它向我呈现了一条 JSF 警告消息。这是您要引用的消息吗?

如果是这样,原因是您的 HTML5 标记中缺少一些 JSF 属性,例如 jsf:id 用于您的表单、head 和 body 标记。如果您不指定任何 jsf 属性,则 JSF 将忽略此标记并且不会将其转换为等效的 JSF。因此,尝试对您的代码进行以下更改:

<head jsf:id="head">
<!-- YOUR HEADER TAGS HERE -->
</head>

<body jsf:id="body">
<form jsf:id="frmMain">
<!-- YOUR BODY TAGS GOES HERE -->
</form>
</body>

请注意,您的输入未指定任何 jsf 属性。因此,它不会呈现为 JSF 组件。而且,您没有将 bootsrap CSS/JS 链接到您的页面。我假设您只是忽略了它。

好了,希望对你有帮助。是啊!

关于html - JSF 传递元素导致偏离结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617971/

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