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();
}
}
}