首页 新闻 会员 周边 捐助

frameset的子页面关联问题

0
[待解决问题]

frameset如何通过左边的菜单menu里面的按钮来控制改变中间的workspace里面所呈现的内容啊?可以举个简单的代码例子吗?

下面是我的index.jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "😕/" +
request.getServerName() + ":" +
request.getServerPort() + path;
%>
<html>
<head>
<title>梦想试衣间</title>
<script type="text/javascript" src="<%=basePath%>/js/jquery.min.js"></script>
</head>
<frameset rows="70px," border="0">
<frame src="<%=basePath%>/jsp/banner.jsp" />
<frameset cols="140px," border="1">
<frame src="<%=basePath%>/jsp/menu.jsp" />
<frame id="workspace" src="<%=basePath%>/jsp/workspace.jsp" />
</frameset>
</frameset>
</html>

这是项目的index.jsp的页面截图:

工学义子的主页 工学义子 | 菜鸟二级 | 园豆:204
提问于:2023-11-24 17:19
< >
分享
所有回答(1)
0

frameset结构是一种传统的页面布局方式,但在现代Web开发中,更常见的是使用HTML5和CSS来实现页面布局。不过,如果您需要在frameset中通过左侧菜单按钮来改变中间workspace的内容,您可以使用JavaScript来实现。

在您的menu.jsp中,您可以为菜单按钮添加事件处理程序,以便在点击按钮时更新workspace的内容。以下是一个简单的示例代码:

menu.jsp:

html
Copy code
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Menu</title>
<script type="text/javascript">
function changeWorkspace(contentURL) {
// 获取父窗口(frameset中的第二个frame,即workspace)
var workspaceFrame = parent.frames['workspace'];

        // 更新workspace的src属性,加载新内容
        workspaceFrame.location.href = contentURL;
    }
</script>

</head>
<body>
<button onclick="changeWorkspace('<%=basePath%>/jsp/content1.jsp')">Button 1</button>
<button onclick="changeWorkspace('<%=basePath%>/jsp/content2.jsp')">Button 2</button>
</body>
</html>
在上述代码中,每个按钮都调用changeWorkspace函数,并传递要加载到workspace中的新内容的URL。该函数获取frameset中的workspace frame,并更新其location.href属性以加载新的内容。

请确保在实际应用中替换content1.jsp和content2.jsp为您的实际页面路径。此外,您可能需要根据需要扩展和修改此示例以满足您的具体需求。

这只是一个简单的示例,更复杂的场景可能涉及到使用Ajax加载内容、动态生成菜单等。在现代Web开发中,通常会使用前端框架(如React、Vue.js、Angular等)来实现更灵活和可维护的页面交互。

Technologyforgood | 园豆:7775 (大侠五级) | 2023-12-02 16:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册