轉載自 叫 劉軍 的博客
1 表單的另一種參數傳遞方法:
<form name="form1<%=id%>" method="post" action="bookOrder.jsp?bookid=<%=id%>">

<img src="images/all1.gif" width="40" height="40" onClick="submit()"></form>



2 防止為登陸瀏覽:
if(session.getAttribute("UserName")==null||session.getAttribute("UserName")=="")

{



out.println("<Script language='javascript'>");

out.println("alert('對不起!請你登陸后再訂閱')");

out.println("history.go(-1)");

out.println("</script>");

}

else

{



%>



3驗證 用戶信息的合法性:




<%@ page language="java" import="java.sql.*" %>

<jsp:useBean id="bookM" scope="page" class="date.SearchBookCar" />

<%! String bookid,bookNumS; int Id,bookNumI;

%>



<%



bookid=request.getParameter("bookid");//得到ID

bookNumS=request.getParameter("bookfield");//得到數量

if(bookNumS!=""&bookNumS!=null)

{



try

{

bookNumI=Integer.parseInt(bookNumS);//轉換成int類型

Id=Integer.parseInt(bookid) ;



}

catch(NumberFormatException e)

{

out.println("<Script language='javascript'>");

out.println("alert('對不起,您輸入的數字格式不對!')");

out.println("history.back(-1)");

out.println("</script>");



}

boolean one=bookM.bookQuery(Id,bookNumI,""+session.getAttribute("loginTime"),""+session.getAttribute("UserName"));

if(one)

{

out.println("<Script language='javascript'>");

out.println("alert('提交成功!')");

out.println("history.back(-1)");

out.println("</script>");



}

else

{

out.println("<Script language='javascript'>");

out.println("alert('您已經訂過此書!')");

out.println("history.back(-1)");

out.println("</script>");



}

}

bookM.bclose();

}%>

4表單的檢驗
<form action="search.jsp" name="search_form" methor="post">

<input type="submit" name="Submit3" value="確定" onclick=search_sub()>

<script language="javascript">

function search_sub()

{

if(document.search_form.keyword.value==""|document.search_form.keyword.value=="請輸入關鍵字")

{

window.alert("請輸入關鍵字!");

document.search_form.keyword.focus();

return;

}

else

{

document.search_form.submit();

}

}

5搜索的sql代碼:
String strSQL="Select * from hotbook";

if(way!=null&&keyword!=null)

{



//////////////出版社********************

if(way.trim().equals("3"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 出版社 like "+"'%"+keyword+"%'";

}

//////////////出版日期********************

if(way.trim().equals("4"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 出版日期 like '%"+keyword+"%'";

}

//////////////書名********************

if(way.trim().equals("1"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 書名 like '%"+keyword+"%'";

}

//////////////作者********************

if(way.trim().equals("2"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 作者 like '%"+keyword+"%'";

}

//////////////ISBN********************

if(way.trim().equals("5"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" ISBN like '%"+keyword+"%'";

}

}



6分頁顯示
if (strSQL!=null)

{

Connection con=yy.getConn();

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet RSa=stmt.executeQuery(strSQL);

RSa.last();

int qikan_num=0;//每頁實際頁數

int pageNO=1;//第幾頁

int pageRecorders=5;//每頁10條記錄

int pageTotal=RSa.getRow();//共幾條

int pageCount=pageTotal/pageRecorders;//每頁10條共幾頁

String strPage = request.getParameter("pagenum");//得到傳遞上來的頁數

if(strPage==null)

{

//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據

pageNO = 1;

}

else

{

//將字符串轉換成整型

pageNO= java.lang.Integer.parseInt(strPage);

if(pageNO<1)

{pageNO = 1;}

}

if(pageCount>=0)

{

//將記錄指針定位到待顯示頁的第一條記錄//的前一條上

if((pageNO-1)==0)//如果為第一頁,則指向第0條

{

RSa.beforeFirst();//如果為第一條記錄,

}

else RSa.absolute((pageNO-1) * pageRecorders);//如果為其它,則指向當前條的下一條

}



%>



<table width="772" border="0">

<tr>

<td width="120"><%if (session.getAttribute("UserName")!=null)

{ out.println("<font color=red>歡迎您:"+session.getAttribute("UserName")+"</font>");}

else

{ out.println("<font color=red>請您登陸!</font>"); };%>

</td>

<%if(pageNO<=pageCount){%>

<td width="128">

<a href="../search.jsp?pagenum=<%=pageNO+1%>&keyword=& lt;%=keyword%>&way=<%=way%>">下一</a></td>

<%}%>

<%if(pageNO>1){%>

<td width="124">

<a href="../search.jsp?pagenum=<%=pageNO-1%>&keyword=& lt;%=keyword%>&way=<%=way%>">上一</a></td>

<%}%>

<td width="124"> </td>

<td width="124"><a href="search.jsp">查看全部熱點書</a></td>

<td width="126"><a href="myorder.jsp" target="_blank">查看我的訂單</a></td>

</tr>

</table>





</td>

</tr>

</table>

<table width="660" border=0 align="center" cellpadding=6 cellspacing=0 class=linehight height="123">

<%

while( RSa.next()&&qikan_num<pageRecorders)

{

String bookname= RSa.getString("書名");

String writer=RSa.getString("作者");

float sale2=RSa.getFloat("定價");

String pubname= RSa.getString("出版社");

String pubtime= RSa.getString("出版日期");

int bookid= RSa.getInt("id");

String image= RSa.getString("ISBN");



%>

<tr>

<td align=center width="23%" height=16><a href=javascript:show("../search_info.jsp?id=<%=bookid%>","詳細資 料",600,300)><img src="image/hotbook/<%=image%>.jpg" border="0"></a></td>

<td valign=top width="58%" ><b>書名:</b><a href=javascript:show("../search_info.jsp?id=<%=bookid%>","詳細資 料",600,300)><font color="#cc0000"><b><%= bookname%></b></font></a><br>

<b><br>作者:</b><%=writer%><br>

<b>定價:</b><font color="#cc0000"> ¥<%=sale2%></font><br>

<b>出版社:</b><%=pubname%><br>

<b>出版日期:</b><%=pubtime%></td>

<td valign=bottom width="19%" height=16 >

<form name="form1<%=bookid%>" method="post" action="bookTiqiao.jsp?bookid=<%=bookid%>">

<input type="text" name="bookfield" size="3" maxlength="3" value="1">

本<img src="images/all1.jpg" width="41" height="36" onClick="submit()" style="cursor:hand">

</form>

</td>

</tr>

<tr align=center>

<td valign=top colspan=3 height=0>

<div align="right"><img src="images/search_end.gif" width="424" height="15"></div>

</td>

</tr>

<%

qikan_num++;

}

%>

</table>

<table width="772" border="0" align="center">

<tr>

<td><%

out.println("<p><b><font color='#174572' size='2'>本頁有"+qikan_num+"條紀錄,共找到"+pageTotal+"條</font></b& gt;</p>");

out.println("<font color='#cc00000' size='2'>當前是第"+pageNO+"頁</font>");

out.println("頁數");

for(int i=1;i<pageCount+2;i++)

{

%>

<a href="../search.jsp?pagenum=<%=i%>&keyword=<%=keyword%>&way=<%=way%>"><u><%=i%></u></a>

<%

}

RSa.close();

stmt.close();

con.close();

}%>



</td>

</tr>

</table>

7另一種 刪除數據后,跳轉的方法
<%

if (session.getAttribute("UserName")==null)

{

response.sendRedirect("../index.jsp");

}else{



String keyword1,SQL;





keyword1=request.getParameter("bookid");

SQL="Delete From bookdindan Where ¶©ÔÄÕßid='"+keyword1+"'";



Connection con=yy.getConn();

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

stmt.executeUpdate(SQL);

response.sendRedirect("../myorder.jsp");





stmt.close();

con.close();

}

%>

8將 年月日轉換的方法 如 2004-05-02 2004年5月2日
<%!

public static String YMD(String dt)

{

try

{

return dt.substring(0,4)+"年"+dt.substring(5,7)+"月"+dt.substring(8,10)+"日";

}

catch(Exception e)

{

}

return "null";

}

%>

9 中文轉換
<%!

public String getStr(String str)

{

try

{

String temp_p=str;

byte[] temp_t=temp_p.getBytes("GBK");

String temp=new String(temp_t,"ISO8859_1");

return temp;

}

catch(Exception e)

{



}

return "null";

}

10 用戶注銷 代碼
<%

session.setAttribute("UserName","");

session.setAttribute("station","");

session.setAttribute("id","");

response.sendRedirect("default.jsp");

%>



第二篇
1 防止用戶刷新頁面,等待10秒
// default.jsp
<%String aaa="b"+session.getAttribute("nF");
if(!aaa.equals("bnull"))
{
session.setAttribute("nF",null);
response.sendRedirect("1.jsp");
}
else
{
session.setAttribute("nF","a");

%>
//1.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page language="java" %>
<p>對不起,服務器正在運行時,請勿刷新頁面,謝謝合作,如有不便敬請諒解</p>
<p>頁面將于10秒后重新回到主頁.......請等待!!!</p>

<%response.setHeader("Refresh","10;URL=default.jsp");%>
2用javaBean調用javascript指令
//jsp
try{
studentID=(String)session.getAttribute("studentID");
if(studentID==null){
throw new Exception();
}
}catch(Exception e){
Tools.showalert("您還沒有登錄,或連接超時,請重新登錄!",out);
Tools.showJS("window.open('../login.jsp','_self')",out);
}
//Bean
import javax.servlet.jsp.JspWriter;
public static void showalert(String msg, JspWriter out)
{
try
{
out.print(String.valueOf(String.valueOf((new StringBuffer("<SCRIPT LANGUAGE=\"javascript\"\n> alert(\"")).append(msg).append("\");\n").append("</SCRIPT>\n"))));
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
3用javaBean 返回
public static void goback(JspWriter out)
{
try
{
out.print("<SCRIPT LANGUAGE=\"javascript\"\n> history.go(-1);\n</SCRIPT>\n");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
4用bean 插入javascript
public static void goback(JspWriter out)
{
try
{
out.print("<SCRIPT LANGUAGE=\"javascript\"\n> history.go(-1);\n</SCRIPT>\n");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}

JSP 網頁制作技巧總結!(java-cn.net)- -

                                      

轉載自 叫 劉軍 的博客
1 表單的另一種參數傳遞方法:
<form name="form1<%=id%>" method="post" action="bookOrder.jsp?bookid=<%=id%>">

<img src="images/all1.gif" width="40" height="40" onClick="submit()"></form>



2 防止為登陸瀏覽:
if(session.getAttribute("UserName")==null||session.getAttribute("UserName")=="")

{



out.println("<Script language='javascript'>");

out.println("alert('對不起!請你登陸后再訂閱')");

out.println("history.go(-1)");

out.println("</script>");

}

else

{



%>



3驗證 用戶信息的合法性:




<%@ page language="java" import="java.sql.*" %>

<jsp:useBean id="bookM" scope="page" class="date.SearchBookCar" />

<%! String bookid,bookNumS; int Id,bookNumI;

%>



<%



bookid=request.getParameter("bookid");//得到ID

bookNumS=request.getParameter("bookfield");//得到數量

if(bookNumS!=""&bookNumS!=null)

{



try

{

bookNumI=Integer.parseInt(bookNumS);//轉換成int類型

Id=Integer.parseInt(bookid) ;



}

catch(NumberFormatException e)

{

out.println("<Script language='javascript'>");

out.println("alert('對不起,您輸入的數字格式不對!')");

out.println("history.back(-1)");

out.println("</script>");



}

boolean one=bookM.bookQuery(Id,bookNumI,""+session.getAttribute("loginTime"),""+session.getAttribute("UserName"));

if(one)

{

out.println("<Script language='javascript'>");

out.println("alert('提交成功!')");

out.println("history.back(-1)");

out.println("</script>");



}

else

{

out.println("<Script language='javascript'>");

out.println("alert('您已經訂過此書!')");

out.println("history.back(-1)");

out.println("</script>");



}

}

bookM.bclose();

}%>

4表單的檢驗
<form action="search.jsp" name="search_form" methor="post">

<input type="submit" name="Submit3" value="確定" onclick=search_sub()>

<script language="javascript">

function search_sub()

{

if(document.search_form.keyword.value==""|document.search_form.keyword.value=="請輸入關鍵字")

{

window.alert("請輸入關鍵字!");

document.search_form.keyword.focus();

return;

}

else

{

document.search_form.submit();

}

}

5搜索的sql代碼:
String strSQL="Select * from hotbook";

if(way!=null&&keyword!=null)

{



//////////////出版社********************

if(way.trim().equals("3"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 出版社 like "+"'%"+keyword+"%'";

}

//////////////出版日期********************

if(way.trim().equals("4"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 出版日期 like '%"+keyword+"%'";

}

//////////////書名********************

if(way.trim().equals("1"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 書名 like '%"+keyword+"%'";

}

//////////////作者********************

if(way.trim().equals("2"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" 作者 like '%"+keyword+"%'";

}

//////////////ISBN********************

if(way.trim().equals("5"))

{

strSQL="SELECT * FROM hotbook where";

strSQL=strSQL+" ISBN like '%"+keyword+"%'";

}

}



6分頁顯示
if (strSQL!=null)

{

Connection con=yy.getConn();

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet RSa=stmt.executeQuery(strSQL);

RSa.last();

int qikan_num=0;//每頁實際頁數

int pageNO=1;//第幾頁

int pageRecorders=5;//每頁10條記錄

int pageTotal=RSa.getRow();//共幾條

int pageCount=pageTotal/pageRecorders;//每頁10條共幾頁

String strPage = request.getParameter("pagenum");//得到傳遞上來的頁數

if(strPage==null)

{

//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據

pageNO = 1;

}

else

{

//將字符串轉換成整型

pageNO= java.lang.Integer.parseInt(strPage);

if(pageNO<1)

{pageNO = 1;}

}

if(pageCount>=0)

{

//將記錄指針定位到待顯示頁的第一條記錄//的前一條上

if((pageNO-1)==0)//如果為第一頁,則指向第0條

{

RSa.beforeFirst();//如果為第一條記錄,

}

else RSa.absolute((pageNO-1) * pageRecorders);//如果為其它,則指向當前條的下一條

}



%>



<table width="772" border="0">

<tr>

<td width="120"><%if (session.getAttribute("UserName")!=null)

{ out.println("<font color=red>歡迎您:"+session.getAttribute("UserName")+"</font>");}

else

{ out.println("<font color=red>請您登陸!</font>"); };%>

</td>

<%if(pageNO<=pageCount){%>

<td width="128">

<a href="../search.jsp?pagenum=<%=pageNO+1%>&keyword=& lt;%=keyword%>&way=<%=way%>">下一</a></td>

<%}%>

<%if(pageNO>1){%>

<td width="124">

<a href="../search.jsp?pagenum=<%=pageNO-1%>&keyword=& lt;%=keyword%>&way=<%=way%>">上一</a></td>

<%}%>

<td width="124"> </td>

<td width="124"><a href="search.jsp">查看全部熱點書</a></td>

<td width="126"><a href="myorder.jsp" target="_blank">查看我的訂單</a></td>

</tr>

</table>





</td>

</tr>

</table>

<table width="660" border=0 align="center" cellpadding=6 cellspacing=0 class=linehight height="123">

<%

while( RSa.next()&&qikan_num<pageRecorders)

{

String bookname= RSa.getString("書名");

String writer=RSa.getString("作者");

float sale2=RSa.getFloat("定價");

String pubname= RSa.getString("出版社");

String pubtime= RSa.getString("出版日期");

int bookid= RSa.getInt("id");

String image= RSa.getString("ISBN");



%>

<tr>

<td align=center width="23%" height=16><a href=javascript:show("../search_info.jsp?id=<%=bookid%>","詳細資 料",600,300)><img src="image/hotbook/<%=image%>.jpg" border="0"></a></td>

<td valign=top width="58%" ><b>書名:</b><a href=javascript:show("../search_info.jsp?id=<%=bookid%>","詳細資 料",600,300)><font color="#cc0000"><b><%= bookname%></b></font></a><br>

<b><br>作者:</b><%=writer%><br>

<b>定價:</b><font color="#cc0000"> ¥<%=sale2%></font><br>

<b>出版社:</b><%=pubname%><br>

<b>出版日期:</b><%=pubtime%></td>

<td valign=bottom width="19%" height=16 >

<form name="form1<%=bookid%>" method="post" action="bookTiqiao.jsp?bookid=<%=bookid%>">

<input type="text" name="bookfield" size="3" maxlength="3" value="1">

本<img src="images/all1.jpg" width="41" height="36" onClick="submit()" style="cursor:hand">

</form>

</td>

</tr>

<tr align=center>

<td valign=top colspan=3 height=0>

<div align="right"><img src="images/search_end.gif" width="424" height="15"></div>

</td>

</tr>

<%

qikan_num++;

}

%>

</table>

<table width="772" border="0" align="center">

<tr>

<td><%

out.println("<p><b><font color='#174572' size='2'>本頁有"+qikan_num+"條紀錄,共找到"+pageTotal+"條</font></b& gt;</p>");

out.println("<font color='#cc00000' size='2'>當前是第"+pageNO+"頁</font>");

out.println("頁數");

for(int i=1;i<pageCount+2;i++)

{

%>

<a href="../search.jsp?pagenum=<%=i%>&keyword=<%=keyword%>&way=<%=way%>"><u><%=i%></u></a>

<%

}

RSa.close();

stmt.close();

con.close();

}%>



</td>

</tr>

</table>

7另一種 刪除數據后,跳轉的方法
<%

if (session.getAttribute("UserName")==null)

{

response.sendRedirect("../index.jsp");

}else{



String keyword1,SQL;





keyword1=request.getParameter("bookid");

SQL="Delete From bookdindan Where ¶©ÔÄÕßid='"+keyword1+"'";



Connection con=yy.getConn();

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

stmt.executeUpdate(SQL);

response.sendRedirect("../myorder.jsp");





stmt.close();

con.close();

}

%>

8將 年月日轉換的方法 如 2004-05-02 2004年5月2日
<%!

public static String YMD(String dt)

{

try

{

return dt.substring(0,4)+"年"+dt.substring(5,7)+"月"+dt.substring(8,10)+"日";

}

catch(Exception e)

{

}

return "null";

}

%>

9 中文轉換
<%!

public String getStr(String str)

{

try

{

String temp_p=str;

byte[] temp_t=temp_p.getBytes("GBK");

String temp=new String(temp_t,"ISO8859_1");

return temp;

}

catch(Exception e)

{



}

return "null";

}

10 用戶注銷 代碼
<%

session.setAttribute("UserName","");

session.setAttribute("station","");

session.setAttribute("id","");

response.sendRedirect("default.jsp");

%>



第二篇
1 防止用戶刷新頁面,等待10秒
// default.jsp
<%String aaa="b"+session.getAttribute("nF");
if(!aaa.equals("bnull"))
{
session.setAttribute("nF",null);
response.sendRedirect("1.jsp");
}
else
{
session.setAttribute("nF","a");

%>
//1.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page language="java" %>
<p>對不起,服務器正在運行時,請勿刷新頁面,謝謝合作,如有不便敬請諒解</p>
<p>頁面將于10秒后重新回到主頁.......請等待!!!</p>

<%response.setHeader("Refresh","10;URL=default.jsp");%>
2用javaBean調用javascript指令
//jsp
try{
studentID=(String)session.getAttribute("studentID");
if(studentID==null){
throw new Exception();
}
}catch(Exception e){
Tools.showalert("您還沒有登錄,或連接超時,請重新登錄!",out);
Tools.showJS("window.open('../login.jsp','_self')",out);
}
//Bean
import javax.servlet.jsp.JspWriter;
public static void showalert(String msg, JspWriter out)
{
try
{
out.print(String.valueOf(String.valueOf((new StringBuffer("<SCRIPT LANGUAGE=\"javascript\"\n> alert(\"")).append(msg).append("\");\n").append("</SCRIPT>\n"))));
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
3用javaBean 返回
public static void goback(JspWriter out)
{
try
{
out.print("<SCRIPT LANGUAGE=\"javascript\"\n> history.go(-1);\n</SCRIPT>\n");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
4用bean 插入javascript
public static void goback(JspWriter out)
{
try
{
out.print("<SCRIPT LANGUAGE=\"javascript\"\n> history.go(-1);\n</SCRIPT>\n");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}