jsp页面使用循环 java的方法是在jsp页面中写scriplet代码。
举例for循环输出表格:
<%@ page language="java" import="task6.MyList,java.util.List" pageEncoding="UTF-8"%>
<HTML>
<BODY>
<jsp:useBean id="mylist" scope="application" class="task6.MyList" >
</jsp:useBean>
<H3>MyList scope="request" Example</H3>
<table border=1>
<tr>
<td> 英文</td>
<td> 中文</td>
<td> 生日</td>
<td> 性别</td>
</tr>
<%
List list = mylist.getList() ;
int idx1 = 0;
int idx2 = 1;
int idx3 = 2;
int idx4 = 3;
int len = list.size() / 4;
for (int i = 0; i < len -1; i++){
%>
<tr>
<td><%=(String)list.get(idx1)%></td>
<td><%=(String)list.get(idx2)%></td>
<td><%=(String)list.get(idx3)%></td>
<td><%=(String)list.get(idx4)%></td>
</tr>
<%
idx1 +=4 ;
idx2 +=4 ;
idx3 +=4 ;
idx4 +=4 ;
}
%>
</table>
</BODY>
</HTML>
② 在JSP中,只有一行代码:<%=’A’+’B’%>,运行将输出
A和B都是变量,可是还没有定义的话就会报错
<%='A'+'B'%> 等于131
<%="A"+"B"%> 等于AB
假如A和B是字符串,就是拼凑起来的字符串,假如和已经赋值的东西,那就是和。
输出5,也就是选c。其实转换成Servlet源代码就是out.print(2+3);
也就是向页面输出2+3运算后的结果。
(2)jsp里面输出代码怎么写扩展阅读:
JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令:包含指令include –包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。效果就好像被包含文件的内容直接被粘贴到当前文件中一样。这个功能和C预处理器所提供的很类似。被包含文件的扩展名一般都是"jspf"(即JSPFragment,JSP片段)。
③ jsp里的for循环怎么做最简单的就行
<%
for(int i=0; i<10; i++){
%>
<div><%=i%></div>
<%}%>
一对<% %> 符号里面就是java代码。
④ jsp嵌套html代码,然后直接以html方式输出代码
直接以html方式输出代码,需要用servlet的out.print输出。
out对象的类型是JspWriter。JspWriter继承了java.io.Writer类。
1)print方法是子类JspWriter,write是Writer类中定义的方法;
2)重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;
3)JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。例如:
下面的test.jsp文件:
<% String str=null;
out.print(str);
//out.write(str);
%>
##################################
示例一、
<% out.print("<font color='red'>你好,world2!</font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:
⑤ jsp的<%@include和<jsp:include>的问题
举个例子,你现在的index.jsp,要包含一个文件abc.jsp.
- 首先,<%@include file="abc.jsp" %> 这个是include directive
如果,你选用这个include,那么意味着,abc.jsp里的所有Java,HTML代码原封不动的都被复制粘贴到当前的文件。和你手动复制粘贴效果是一样。这个的作用就是省了复制粘贴的功夫了。当访问index.jsp的时候,这个request(请求),是一次性完成。
- 其次,
<jsp:include page="abc.jsp" flush="true">
<jsp:param name="name" value="abc" />
</jsp:include>
这个是include action, 或叫include tag。当你使用这个的时候,意味着你访问abc.jsp,然后把abc.jsp输出的HTML(注意,和在IE里看到的HTML是一样)全部放到你include的位置。当访问index.jsp的时候,这个request(请求),是用户先请求index.jsp,然后服务器再自动请求abc.jsp,合成最终的index.jsp,然后response(回应)给客户端。
- 二者比较:
1. 二者一个是直接包含原代码,一个是包含请求出的HTML。
2. 用<jsp:include>的话,如果abc.jsp里有response.redirect("")或者response.addCookie("")等等关于response的操作,都回被忽视。也就是说用户不回被送到另一个页面。
但此时用<%@include>的话,abc.jsp里所有动response的操作都会正常运行。
3. 用<jsp:include>因为它是向abc.jsp发送一个请求,所以请求可包含<jsp:param>,就是parameter(参数)。
若用<%@include>,就不可以加参数。
4. 速度上,<%@include>会快一些,因为他只是处理一个请求。而<jsp:include>是处理两个请求,所以慢一点。
5. <jsp:include page="http://www.google.com/search?q=abc" />这样都可以,相当于把有HTML包含。
但在<%@include file="abc.jsp" />中,只可以包含你自己网站里的原始代码,也就是说abc.jsp必须存在,若不存在,会出现Compilation Error(编译错误)。
6. 使用上<%@include>比较常用,一般用于检测用户是否登陆,或者网站的LOGO,网站的一些静态不变的信息。
<jsp:include>一般用于发送一个请求,并接受所回应的HTML。可以加入Parameter(参数)。
具体请看Sun 的Documentation
<jsp:include>
http://java.sun.com/procts/jsp/tags/11/syntaxref1112.html
⑥ jsp输出当前时间的实现代码
在jsp页面中输出完整的时间,格式为"年
月
日
时:分:秒"
<%
Date
date
=
new
Date();
SimpleDateFormat
t
=
new
SimpleDateFormat("yyyy-MM-dd
HH:mm:ss");
String
time
=
t.format(date);
%>
当前时间:<%=
time
%>
以上就是小编为大家带来的jsp输出当前时间的实现代码全部内容了,希望大家多多支持脚本之家~
⑦ jsp登陆界面源代码
login.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form name="loginForm" method="post" action="judgeUser.jsp">
<table>
<tr>
<td>用户名:<input type="text" name="userName" id="userName"></td>
</tr>
<tr>
<td>密码:<input type="password" name="password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="登录" style="background-color:pink"> <input
type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>
Data_uil.java文件代码:
import java.sql.*;
public class Data_uil
{
public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="***";
String password="***";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=***";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public String selectPassword(String username)
{
Connection connection=getConnection();
String sql="select *from login where username=?";
PreparedStatement preparedStatement=null;
ResultSet result=null;
String password=null;
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
result=preparedStatement.executeQuery();//可执行的 查询
if(result.next())
password=result.getString("password");
}catch(SQLException e){
e.printStackTrace();
}finally
{
close(preparedStatement);
close(result);
close(connection);
}
System.out.println("找到的数据库密码为:"+password);
return password;
}
public void close (Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close (PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}