如何在JSP中动态显示系统时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JSP中动态显示系统时间相关的知识,希望对你有一定的参考价值。
如题,是否需要调用JS代码,请给出详细说明啊,谢谢啦
JSP中实现动态显示系统时间可以使用js来编写,如下代码:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
当前时间:
<div id="time">
<script>
document.getElementById('time').innerHTML = new Date().toLocaleString()
+ ' 星期' + '日一二三四五六'.charAt(new Date().getDay());
setInterval(
"document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",
1000);
</script>
</div>
<body>
</body>
</html> 参考技术A import java.awt.*;
import java.util.*;
import javax.swing.*;
//数字时钟
public class ClockDemo extends JFrame implements Runnable
Thread clock;
public ClockDemo()
super("数字时钟"); //调用父类构造函数
setFont(new Font("Times New Roman",Font.BOLD,60)); //设置时钟的显示字体
start(); //开始进程
setSize(280,100); //设置窗口尺寸
setVisible(true); //窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
public void start() //开始进程
if (clock==null) //如果进程为空值
clock=new Thread(this); //实例化进程
clock.start(); //开始进程
public void run() //运行进程
while (clock!=null)
repaint(); //调用paint方法重绘界面
try
Thread.sleep(1000); //线程暂停一秒(1000毫秒)
catch (InterruptedException ex)
ex.printStackTrace(); //输出出错信息
public void stop() //停止进程
clock=null;
public void paint(Graphics g) //重载组件的paint方法
Graphics2D g2=(Graphics2D)g; //得到Graphics2D对象
Calendar now=new GregorianCalendar(); //实例化日历对象
String timeInfo=""; //输出信息
int hour=now.get(Calendar.HOUR_OF_DAY); //得到小时数
int minute=now.get(Calendar.MINUTE); //得到分数
int second=now.get(Calendar.SECOND); //得到秒数
if (hour<=9)
timeInfo+="0"+hour+":"; //格式化输出
else
timeInfo+=hour+":";
if (minute<=9)
timeInfo+="0"+minute+":";
else
timeInfo+=minute+":";
if (second<=9)
timeInfo+="0"+second;
else
timeInfo+=second;
g.setColor(Color.white); //设置当前颜色为白色
Dimension dim=getSize(); //得到窗口尺寸
g.fillRect(0,0,dim.width,dim.height); //填充背景色为白色
g.setColor(Color.orange); //设置当前颜色为橙色
g.drawString(timeInfo,20,80); //显示时间字符串
public static void main(String[] args)
new ClockDemo();
参考技术B <HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript">
function gettime()
var d = new Date();
document.getElementById("t").innerHTML =d;
window.setTimeout("gettime()",1000);
window.onload = gettime;
</SCRIPT>
</HEAD>
<BODY>
<div id="t"></div>
</BODY>
</HTML> 参考技术C 具体的我也不太懂。我也是刚刚学到这
这个是我刚刚在百度上找的。
如果不对,你可以去百度上找找看
<%@ page language="java"%>
<%@ page contentType="text/html; charset=gbk2312"%>
<%@ page import=" java.io.*"%>
<%@ page import ="java.sql.*"%>
<%@ page import="java.util.*"%> //获取系统时间必须导入的
<%@ page import="java.text.*"%> //获取系统时间必须导入的
<%
String datetime=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); //获取系统时间
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//建立数据库驱动
String strConn= "jdbc:sqlserver://localhost:1433;databaseName=你数据库的名字;user=sa;password="""; //连接数据库
Connection conn = DriverManager.getConnection(strConn);
Statement stmt =conn.createStatement();
String strSql="INSERT INTO 数据库表名(时间字段) VALUES ('"+datetime+"')";
int result=stmt.executeUpdate(strSql);
%>
jsp页面中如何动态创建表格的行列
【中文标题】jsp页面中如何动态创建表格的行列【英文标题】:How to dynamically create row and column of table in jsp page 【发布时间】:2013-10-04 16:58:54 【问题描述】:我正在尝试将数据从数据库检索到表中。 但数据必须动态加载。
如何动态创建我不知道的行和列? 如果它只是要创建的行,那么我会很容易地做到这一点,但我也想在页面上动态创建列,这就是为什么我很困惑如何执行它?
我的 JSP 代码:
<table border="1">
<%
MySql1 o = new MySql1();
o.connect();
ResultSet r;
int counter=1;
String q = "select * from category_master;";
r = o.getdata(q);
while(r.next())
%>
<tr>
<td><%= r.getString(1)%></td>
</tr>
<%
%>
</table>
现在我在<td>
中显示第一列,但如果用户不知道要检索多少列,那该怎么办?
在select query
中,我使用了*
,所以我对使用<td>
感到困惑。
我想要全部动态,因为假设我也将使用任何文本框或 url 动态传递表名。
这里MySql
1 是一个类文件,它具有执行操作的方法。
connect()
用于连接db,getdata()
用于检索作为参数传递的查询数据,getdata()
方法的返回类型为Resultset
。
所以这就是我想要所有动态的原因,但我不知道该怎么做。
【问题讨论】:
【参考方案1】:试试这个代码:
<table border="1">
<%
MySql1 o = new MySql1();
o.connect();
ResultSet r;
int counter=1;
String q = "select * from category_master;";
r = o.getdata(q);
ResultSetMetaData metaData = r.getMetaData();
while(r.next())
%>
<tr>
<%
for(int i = 1; i<=metaData.getColumnCount();i++)
%>
<td>
<%= r.getString(i)%>
</td>
<%
%>
</tr>
<%
%>
</table>
【讨论】:
先生,如果我将编写查询以使用 select * 获取所有数据但我不想要一个字段,是否有可能。这种事情可能与否?假设它是用户详细信息表,我不想显示密码,除非我想要所有数据。 看这个问题:***.com/questions/14253994/… 先生,我没有完全理解它的含义,我是这个领域的初学者,所以这就是我面临问题的原因。你能告诉我怎么做吗? 先生,我已经实现了 2 个机制。首先我从表中获取列名并显示为标题,然后在第二个中我从表名中获取数据但它在第二个实现中显示 ResultSetMetaData 声明中的错误,如果我直接传递表名而不是从其他页面获取的变量然后它在 ResultSetMetaData delaration 中显示错误... 我已经用代码先生发布了我的问题。***.com/questions/19095898/…【参考方案2】:我做了jsp页面这样测试
这里是test.jsp
<table border="1">
<thead>
<tr>
<td>Volume</td>
<td>XmlTitle</td>
<td>getYear</td>
</tr>
</thead>
<tbody>
<%
Journal journal = Journal.findByCode("antipoda");
List<Issue> normalIssues = journal.getIssuesOfType(IssueType.NORMAL);
for (Issue issue : normalIssues)
out.print(String.format("<tr>" +
"<td>%s</td>" +
"<td>%s</td>" +
"<td>%d</td>" +
"</tr>",
issue.getVolume(),issue.getXmlTitle(),issue.getYear()));
out.flush();
%>
</tbody>
</table>
您可以将 scriptlet 更改为通过您要显示的模型进行迭代的代码
希望对你有帮助
【讨论】:
以上是关于如何在JSP中动态显示系统时间的主要内容,如果未能解决你的问题,请参考以下文章
使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础