JSP页面技巧:弹窗、刷新与单选按钮应用
需积分: 3 181 浏览量
更新于2024-09-15
收藏 115KB DOC 举报
"jsp知识积累"
在JavaServer Pages (JSP) 开发中,有几点重要的技术要点和实践经验值得我们关注。这些包括弹出窗口的处理、页面自动刷新、单选按钮的应用以及日期比较等。
首先,关于弹出窗口页面在原有窗口打开,这通常涉及到`<base>`标签的使用。`<base target="_self">`指示所有链接在当前窗口中打开,而不是新窗口。为了确保其有效,需要将此标签置于`<head>`标签内,并且在任何其他样式或脚本加载之前。例如:
```html
<head>
<base target="_self">
<!-- 其他样式和脚本 -->
</head>
```
页面自动刷新则通过HTTP响应头或者JavaScript实现。在JSP中,可以使用以下代码防止页面缓存并设置定时刷新:
```jsp
<%
response.setHeader("Pragma", "No-Cache");
response.setHeader("Cache-Control", "No-Cache");
response.setDateHeader("Expires", 0);
%>
```
对于JavaScript的自动刷新,可以在`<head>`标签内添加`<meta>`标签,如下所示:
```html
<head>
...
<meta http-equiv="refresh" content="60"> <!-- 每60秒刷新一次 -->
</head>
```
单选按钮的使用中,需要注意当选项只有一个时,应处理可能的异常。例如,如果只有一项可选,`waterid.length`会报错,因为它不是一个数组。为此,可以添加一个隐藏的单选按钮,使得`waterid`始终有两个元素:
```html
<input type="radio" name="waterId" style="display:none">
```
对于多选按钮,一般用于提供多个可选选项,获取选中值时,可以使用循环遍历所有选项,如下所示:
```javascript
var selectedValues = [];
var checkboxes = document.getElementsByName('checkboxName');
for(var i=0; i<checkboxes.length; i++) {
if(checkboxes[i].checked) {
selectedValues.push(checkboxes[i].value);
}
}
```
此外,`onchange`事件常常与动态Web应用程序结合,比如使用Direct Web Remoting (DWR) 实现数据交互。例如,当用户更改下拉框选择时,可以调用DWR服务更新页面上的其他信息:
```javascript
<select onchange="updateInfo()">
<!-- 下拉选项 -->
</select>
<script>
function updateInfo() {
// DWR调用,传递选择的值并接收服务器返回的数据
DWREngine.invokeMethod('YourDWRService', 'updateData', [selectedValue], function(data) {
// 更新页面内容
});
}
</script>
```
最后,日期比较在JSP中也非常重要。Java的`Date`对象提供了比较日期的方法,如`after()`, `before()` 和 `equals()`:
```java
Date a = new Date(); // 实例化日期a
Date b = new Date(); // 实例化日期b
if (a.after(b)) {
System.out.println("a在b之后");
} else if (b.before(a)) {
System.out.println("b在a之前");
} else {
System.out.println("a和b相等");
}
```
以上就是JSP开发中关于弹出窗口、页面刷新、单选按钮和日期比较等知识点的总结,这些都是构建动态网页时经常会遇到的技术细节。
2011-06-13 上传
2023-06-30 上传
2008-10-31 上传
2010-06-24 上传
2014-12-19 上传
2009-09-29 上传
2009-03-18 上传
2023-07-04 上传
2009-04-23 上传
wzlsmile
- 粉丝: 1
- 资源: 8
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍