gpt4 book ai didi

jsf - 如何包含多个 xhtml 页面,这些页面将相同的模板扩展到一个摘要 xhtml 页面中,

转载 作者:行者123 更新时间:2023-12-04 07:56:02 25 4
gpt4 key购买 nike

我们如何将多个 xhtml 页面包含到一个摘要页面中。
这里所有的 xhtml 页面包括相同的模板。

通用模板.xhtml

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<title> SNS </title>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="sns.css" type="text/css" />
</head>
<h:body>

<div id="header">
<ui:insert name="commonHeader">
<ui:include src="header.xhtml" />
</ui:insert>
</div>
<div id="content">
<ui:insert name="commonBodyContent">
Common Body Content.
</ui:insert>
</div>
<div id="footer">
<ui:insert name="commonFooter">
<ui:include src="footer.xhtml" />
</ui:insert>
</div>
</h:body>
</html>

更新个人详细信息.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="commonTemplate.xhtml">

<ui:define name="commonBodyContent">
.........;
..........;
</ui:define>

</ui:composition>

更新地址.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="commonTemplate.xhtml">

<ui:define name="commonBodyContent">
.........;
..........;
</ui:define>

</ui:composition>

选择首选项.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="commonTemplate.xhtml">

<ui:define name="commonBodyContent">
.........;
..........;
</ui:define>

</ui:composition>

摘要.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">

<ui:include src="updatePersonalDetails.xhtml" />
<ui:include src="updatedAddress.xhtml" />
<ui:include src="selectPreferences.xhtml" />

</ui:composition>

无论我在所有 xhtml 页面中拥有什么数据,都应该在摘要页面中显示完全相同。但包括这个会导致多个 <html>要在页面上呈现的文档。

我们如何解决这个问题?

最佳答案

将正文内容移动到您通过 <ui:include> 包含的另一个模板中在模板客户端中也是如此。

例如。 updatePersonalDetails.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="commonTemplate.xhtml">

<ui:define name="commonBodyContent">
<ui:include src="updatePersonalDetails-content.xhtml" />
</ui:define>

</ui:composition>

(对其他人也重复)

这样您就可以在 summary.xhtml 中执行此操作:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="commonTemplate.xhtml">

<ui:define name="commonBodyContent">
<ui:include src="updatePersonalDetails-content.xhtml" />
<ui:include src="updatedAddress-content.xhtml" />
<ui:include src="selectPreferences-content.xhtml" />
</ui:define>

</ui:composition>

无关 对于具体问题,可以考虑放置模板并包含在 /WEB-INF 中文件夹以防止直接访问它们。另见 Which XHTML files do I need to put in /WEB-INF and which not?

关于jsf - 如何包含多个 xhtml 页面,这些页面将相同的模板扩展到一个摘要 xhtml 页面中,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054788/

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