gpt4 book ai didi

JSP 包括 : templating with jsp's so repeated code is included on every page

转载 作者:行者123 更新时间:2023-12-04 05:24:09 25 4
gpt4 key购买 nike

我是 jsp 的新手,因此开始在每个页面上使用静态重复代码对我的项目进行编码。例如,在我的每个页面的头部部分,我检查是否有当前用户登录,如果有,那么我在正文部分使用他们的名字,如果没有,我重定向到登录页面。

所以在我的页面上我想要以下内容:

<%@ page language="java" 
import="com.ptm.UserBean"
%>
<!DOCTYPE html>
<html lang="en">
<head>
<title> this is my title </title>
<jsp:include page="head-section.jsp" >
</head>
<body >
<jsp:include page="header.jsp" >
</body>
</html>

在 head-section.jsp 我有一些 html 导入 jquery 和我的 css 表,然后是一个 jsp 代码块,它依赖于上面索引页面上的 UserBean 导入,然后是一些 javascript

header.jsp 包含使用在 head-section.jsp 代码块中设置的 jsp 变量。

所以我的问题是,我包含的这些单独的 jsp 不能单独工作,但是当包含时应该与页面一起工作,这减少了我拥有的重复代码的数量。这是最好的方法吗?我听说过标签文件,但我不确定如何实现它。

在此先感谢您的帮助!

最佳答案

标签文件绝对是一个不错的选择,and they're quite easy to use .很好的是,您可以向它们发送参数以提高可重用性。

这是基本步骤(来自教程):假设您将标签存储在/WEB-INF/tags 中(作为 .tag 文件),您需要在 jsp 中包含以下行

<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>

标签文件(我们称之为 response.tag)可能看起来像
<%@ attribute name="name" required="true" %>
<h2>Hello, ${name}!</h2>

这意味着它需要一个名为 name 的参数。之后,您将其称为
<h:response name="world"/>

这将扩展到
<h2>Hello, world!</h2>

在输出中。

关于JSP 包括 : templating with jsp's so repeated code is included on every page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397026/

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