gpt4 book ai didi

Jsp - 两个页面合二为一

转载 作者:行者123 更新时间:2023-12-05 06:33:00 24 4
gpt4 key购买 nike

所以我才开始用 jsp 编写我的第一个代码。

我制作了一个登录页面,用户写下他的用户名和密码,如果它们中的任何一个不存在于数据库(MySQl)中,它会在同一页面中打印一条消息(用户认为它是同一页面)。

我通过将信息发送到文件(在数据库中查找)来做到这一点,如果信息正确则转到下一页,如果错误则转到错误页面。

现在我的问题是,如果我有两个代码相同的页面(Login.jsp 和 ErrorLogin.jsp),唯一的区别是额外的错误消息如何加入它们?

我可以避免我的两个相同的页面吗? :/我的第一个想法是放置一个 if 语句,但它在这种语言中令人困惑。

这是我创建的 2 个文件(我不认为 Validation_Login.jsp 对此很重要,但如果它让我知道上传它)


登录.jsp

<body> 

<form action="Validation_Login.jsp">
<font size="+3"> Login </font>
<br/><br/>

<div>
USERNAME: <input type="text" placeholder="Enter Username" name="firstname"/>
<br/><br/>
</div>

<div>
PASSWORD: <input type="password" placeholder="Password" name="Password" />
<br/><br/>
</div>

<div>
<input type="submit" value="login" />
</div>
</form>

<form action="Create_Account.jsp">
<input type="submit" value="Create_Account">
</form>

</body>

错误登录.jsp

<body>         
<form action="Validation_Login.jsp" >
<font size="+3"> Login </font>
<br/><br/>

<div>
USERNAME: <input type="text" placeholder="Enter Username" name="firstname"/>
<br/><br/>
</div>

<div>
PASSWORD: <input type="password" placeholder="Password" name="password" />
<br/><br/>
</div>

<div>
<input type="submit" value="login" />
</div>
</form>

<form action="Create_Account.jsp">
<input type="submit" value="Create_Account">
</form>

<div id="message">
Wrong UserName Or Password
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Please Try Again
</div>
</body>

最佳答案

最好的方法是使用 jSTL 标签“include”

<jsp:include page="./path-to-template/template_name.jsp">
<jsp:param name="content" value="content_page_name"></jsp:param>
</jsp:include>

为了实现这一点,“template_name”jsp 页面的内容应该是:

<%@page contentType="text/html" pageEncoding="ISO-8859-6"%>
<!DOCTYPE html>
<html lang="en">
<head>
<title>MyGrowth - Track Education While in Migration</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<div class="container">
<%@include file="header.jsp" %>
<jsp:include page="../content/${param.content}.jsp"></jsp:include>
</div>
</body>
<%@include file="footer.jsp"%>
</html>

关键部分是在哪里包含从参数获得的页面:

       <jsp:include page="../content/${param.content}.jsp"></jsp:include>

因此,当我们将名为“content_page_name”的页面传递给模板页面时,该页面将插入到"template"页面中“include”标签所在的位置。

*注意:content 页面应该只包含 html 主体元素(因为头部已经在模板页面中定义。

关于Jsp - 两个页面合二为一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50978171/

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