Ⅰ jsp定義函數
//取得網路上的列印機
function
getnetprinter()
{
var obj=new
ActiveXObject("WScript.Network");
var
netprinter=obj.EnumPrinterConnections();
for(i=0;i<netprinter.Count();i+=2)
{
document.writeln(netprinter.Item(i)+"="+netprinter.Item(i+1));
}
}
//取得磁碟信息 傳入參數如:getdiskinfo('c')
function
getdiskinfo(para)
{
var fs=new
ActiveXObject("scripting.filesystemobject");
d=fs.GetDrive(para);
s="卷標:" + d.VolumnName;
s+="------" +
"剩餘空間:" + d.FreeSpace/1024/1024 + "M";
s+="------" + "磁碟序列號:" +
d.serialnumber;
alert(s)
}
//取得系統目錄
function
getprocessnum()
{
var pnsys=new
ActiveXObject("WScript.shell");
pn=pnsys.Environment("PROCESS");
alert(pn("WINDIR"));
}
//啟動計算器
function runcalc()
{
var
calc=new ActiveXObject("WScript.shell");
calc.Run("calc");
}
//讀取注冊表中的值
function readreg()
{
var
myreadreg=new ActiveXObject("WScript.shell");
try{
alert(myreadreg.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
}
catch(e)
{
alert("讀取的值不存在!");
}
}
//寫注冊表
function
writereg()
{
var mywritereg=new
ActiveXObject("WScript.shell");
try{
mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
alert("寫入成功!");
}
catch(e)
{
alert("寫入路徑不正確!");
}
}
//刪除注冊表
function
delreg()
{
var mydelreg=new
ActiveXObject("WScript.shell");
if(confirm("是否真的刪除?"))
{
try{
mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
alert("刪除成功!");
}
catch(e)
{
alert("刪除路徑不正確");
}
}
}
//取得計算機名域名用戶名
function
netinfo()
{
var mynetinfo=new
ActiveXObject("WScript.network");
alert("計算機名:"+mynetinfo.ComputerName+"域名:"+mynetinfo.UserDomain+"用戶名:"+mynetinfo.UserName);
}
//返回系統中特殊目錄的路徑
(Fonts,AllUsersDesktop,Desktop,MyDocuments,Recent.....)
function
getspecialfolder()
{
var mygetfolder=new
ActiveXObject("WScript.shell");
if(mygetfolder.SpecialFolders("Fonts")!=null)
{
alert(mygetfolder.SpecialFolders("Fonts"));
}
}
//取得文件信息
調用方式如:getfileinfo('E:\\MyPlace\\TEST\\myjs.htm')
function
getfileinfo(para)
{
var myfile=new
ActiveXObject("scripting.filesystemobject");
var
fi=myfile.GetFile(para);
alert("文件類型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最後一次訪問時間:"+fi.DateLastAccessed);
}
//取得客戶端的信息
function
clientInfo()
{
strClientInfo="availHeight=
"+window.screen.availHeight+"\n"+
"availWidth=
"+window.screen.availWidth+"\n"+
"bufferDepth=
"+window.screen.bufferDepth+"\n"+
"colorDepth=
"+window.screen.colorDepth+"\n"+
"colorEnable=
"+window.navigator.cookieEnabled+"\n"+
"cpuClass= "+window.navigator.cpuClass+"\n"+
"height= "+window.screen.height+"\n"+
"javaEnable=
"+window.navigator.javaEnabled()+"\n"+
"platform= "+window.navigator.platform+"\n"+
"systemLanguage=
"+window.navigator.systemLanguage+"\n"+
"userLanguage=
"+window.navigator.userLanguage+"\n"+
"width=
"+window.screen.width;
alert(strClientInfo);
}
//Dilog
Helper對象的使用
function changeColor()//Dilog Helper對象的使用之調用系統調色板
{
var
sColor=dlgHelper.choosecolordlg();
sColor=sColor.toString(16);
if
(sColor.length < 6) {
var sTempString =
"000000".substring(0,6-sColor.length);
sColor =
sTempString.concat(sColor);
}
alert(sColor);
mybody.style.backgroundColor=sColor;
}
function
getFonts()//Dilog Helper對象的使用之取得系統支持的字體
{
var
strFonts="";
for(var i=1;i<dlgHelper.fonts.count;i++)
{
strFonts=strFonts+dlgHelper.fonts(i)+"|";
}
alert(strFonts);
}
function getBlockFormat()//Dilog
Helper對象的使用之取得系統中塊的格式信息(如:標題1、標題2....)
{
var
strBlockFormat="";
for(var
i=1;i<dlgHelper.BlockFormats.count;i++)
{
strBlockFormat=strBlockFormat+dlgHelper.BlockFormats(i)+"|";
}
alert(strBlockFormat);
}
function
createTxtLink()//給選中的文本創建鏈接
{
var
sText=document.selection.createRange();
if(sText.text!="")
{
document.execCommand("CreateLink");
if(sText.parentElement().tagName=="A")
{
sText.parentElement().innerText=sText.parentElement().href;
document.execCommand("ForeColor",false,"#ffff00");
}
}
}
//以下為取得BlockFormats,填充Select(id為myselect)並根據選擇不同的BlockFormat改變樣式
//函數fillselect()和changeformat()
//對execCommand的一點說明:Executes
a command over the given selection or text range
function
fillselect()
{
var item=document.createElement("OPTION")
item.text="請選擇";
item.value="";
myselect.add(item);
for(var
i=1;i<dlgHelper.BlockFormats.count;i++)
{
item=document.createElement("OPTION");
item.text=dlgHelper.BlockFormats(i);
item.value="http://blog.77169.com/dlgHelper.BlockFormats(i);
"
myselect.add(item);
}
}
function changeformat()
{
var sSelect=myselect.options[myselect.selectedIndex].value;
document.execCommand("FormatBlock",false,sSelect);
}
//取得驅動器類型,調用如:ShowDriveType('c:')
function
ShowDriveType(drvpath)
{
fs=new
ActiveXObject("scripting.filesystemobject");
disk=fs.GetDrive(drvpath);
var whichtype="";
switch(disk.DriveType)
{
case 0:
whichtype="Unknown"
break
case 1:
whichtype="Removable"
break
case 2:
whichtype="Fixed"
break
case 3:
whichtype="Network"
break
case 4:
whichtype="CD-ROM"
break
case 5:
whichtype="RAM Disk"
}
alert(whichtype);
//顯示磁碟的SerialNumber
try{
alert(disk.SerialNumber);
}
catch(e){
alert(e.message);
}
alert(disk.VolumeName);//取得卷標
}
</script>
-------------------------
<OBJECT id=dlgHelper
CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px"
height="0px"></OBJECT>
Ⅱ 在jsp中,如何實現普通用戶和管理員登陸後跳轉到不同的點jsp頁面
在jsp中可以通過角色控製表跳轉不同的頁面。
參考代碼如下:
package myservlet;
import mybean.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class IsLogin extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
//接收參數
String user=request.getParameter("user");
String password=request.getParameter("password");
String actor=request.getParameter("actor");
//載入驅動,建立連接
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(Exception e){
System.out.print(e);
}
try{
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";
con=DriverManager.getConnection(uri,"sa","940712");//資料庫的登錄名 sa 940712
sql=con.createStatement();
//通過if語句判斷角色,將其賬號密碼與資料庫的userInf內的信息進行比對(角色的賬號密碼統一存儲在UserInf表中)
//若正確,轉發至角色對應的登錄成功界面;若沒有,統一轉發至出錯界面,提供返回鏈接供重新登錄
if(actor=="student"){
rs=sql.executeQuery("select userIs,password from userInf where actor='student'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessS.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
//普通用戶角色控制
else if(actor=="teacher"){
rs=sql.executeQuery("select userIs,password from userInf where actor='teacher'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessT.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
//管理員角色控制
else if(actor=="admin"){
rs=sql.executeQuery("select userIs,password from userInf where actor='admin'");
while(rs.next()){
if(user==rs.getString(1) && password==rs.getString(2)){
RequestDispatcher dispatcher=request.getRequestDispatcher("loginSuccessA.jsp");
dispatcher.forward(request,response);
}
}
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
}catch(SQLException e){
//System.out.print("您的賬號或密碼錯誤,請返回重新輸入");
RequestDispatcher dispatcher=request.getRequestDispatcher("loginError.jsp");
dispatcher.forward(request,response);
}
}
}
Ⅲ JSTL標簽
根據功能可以分為五大類:
1、核心標簽
2、格式化標簽
3、SQL 標簽
4、XML 標簽
5、JSTL 函數
一、核心標簽
1、<c:out />標簽會自動忽略XML標記字元,所以它們不會被當做標簽來處理。標簽用來顯示一個表達式的結果,與<%= %>作用相似,它們的區別就是<c:out>標簽可以直接通過"."操作符來訪問屬性。
<c:out>標簽有如下屬性:
scope 的作用域大小依次為:
application > session > request > page(默認)
jsp 處理變數的作用域先後依次為:
page(默認) -> request -> session -> application
2、<c:set>標簽用於設置變數值和對象屬性。
3、<c:remove>標簽用於移除一個變數。
4、<c:catch> 標簽主要用來處理產生錯誤的異常狀況,並且將錯誤信息儲存起來。
5、<c:choose>標簽與Java switch語句的功能一樣,用於在眾多選項中做出選擇。
switch語句中有case,而<c:choose>標簽中對應有<c:when>,switch語句中有default,而<c:choose>標簽中有<c:otherwise>。
<c:when>標簽的屬性如下:
6、<c:import>標簽提供了所有<jsp:include>行為標簽所具有的功能,同時也允許包含絕對URL。
<c:import>標簽有如下屬性:
7、<c:forEach>標簽用作迭代一個集合中的對象。
語法格式:
<c:forTokens
items="<string>"
delims="<string>"
begin="<int>"
end="<int>"
step="<int>"
var="<string>"
varStatus="<string>">
<c:forEach>標簽有如下屬性:
c:forEach varStatus 屬性
current : 當前這次迭代的(集合中的)項
index : 當前這次迭代從 0 開始的迭代索引
count : 當前這次迭代從 1 開始的迭代計數
first : 用來表明當前這輪迭代是否為第一次迭代的標志
last : 用來表明當前這輪迭代是否為最後一次迭代的標志
begin : 屬性值
end : 屬性值
step : 屬性值
例如:
<c:foreach items="${sessionScope.userList}" var="userItem" begin="1" end="10" step="3" varStatus="userStatus"> XXX </c:foreach>
實例解讀: 對 session 對象存儲的 userList 集合對象進行遍歷,每次訪問的項暫時存儲在 userItem 變數中,從索引 1 開始至索引 10 進行訪問,但不是依次訪問,每隔 3 個元素訪問一次。每次訪問項的狀態相關值由 userStatus 對象暫存。
<c:foreach> 的 varStatus 屬性暫存項的相關狀態屬性,可由 EL 表達式引用。
${userStatus.index} 此項的索引,從0開始
${userStatus.count} 此項的計數序號,從1開始
${userStatus.first} 此項是否是第一項,布爾值
${userStatus.last} 此項是否是最後一項,布爾值
${userStatus.begin} 此次迭代的起始索引,對應<c:foreach>中begin屬性值
${userStatus.end} 此次迭代的終止索引,對應<c:foreach>中end屬性值
${userStatus.step} 此次迭代的跳躍步伐,對應<c:foreach>中step屬性值
8、<c:forTokens>標簽通過指定分隔符將字元串分隔為一個數組然後迭代它們。
<c:forTokens
items="<string>"
delims="<string>"
begin="<int>"
end="<int>"
step="<int>"
var="<string>"
varStatus="<string>">
9、<c:url>標簽將URL格式化為一個字元串,然後存儲在一個變數中。
這個標簽在需要的時候會自動重寫URL。
var屬性用於存儲格式化後的URL。
<c:url>標簽只是用於調用response.encodeURL()方法的一種可選的方法。它真正的優勢在於提供了合適的URL編碼,包括<c:param>中指定的參數。
<c:url>標簽有如下屬性:
10、<c:param>標簽用於在<c:url>標簽中指定參數,而且與URL編碼相關。
在<c:param>標簽內,name屬性表明參數的名稱,value屬性表明參數的值。
語法格式:
<c:param name="<string>" value="<string>"/>
<c:param>標簽有如下屬性:
11、<c:redirect>標簽通過自動重寫URL來將瀏覽器重定向至一個新的URL,它提供內容相關的URL,並且支持c:param標簽。
c:redirect標簽有如下屬性:
二、格式化標簽
JSTL格式化標簽用來格式化並輸出文本、日期、時間、數字。引用格式化標簽庫的語法如下:
<%@ taglib prefix="fmt uri="http://java.sun.com/jsp/jstl/fmt" %>
1、<fmt:formatNumber>標簽,<fmt:formatNumber>標簽用於格式化數字,百分比,貨幣。
語法格式:
<fmt:formatNumber
value="<string>"
type="<string>"
pattern="<string>"
currencyCode="<string>"
currencySymbol="<string>"
groupingUsed="<string>"
maxIntegerDigits="<string>"
minIntegerDigits="<string>"
maxFractionDigits="<string>"
minFractionDigits="<string>"
var="<string>"
scope="<string>"/>
fmt:formatNumber>標簽有如下屬性:
如果type屬性為percent或number,那麼您就可以使用其它幾個格式化數字屬性。maxIntegerDigits屬性和minIntegerDigits屬性允許您指定整數的長度。若實際數字超過了maxIntegerDigits所指定的最大值,則數字將會被截斷。
有一些屬性允許您指定小數點後的位數。minFractionalDigits屬性和maxFractionalDigits屬性允許您指定小數點後的位數。若實際的數字超出了所指定的范圍,則這個數字會被截斷。
數字分組可以用來在每三個數字中插入一個逗號。groupingIsUsed屬性用來指定是否使用數字分組。當與minIntegerDigits屬性一同使用時,就必須要很小心地來獲取預期的結果了。
您或許會使用pattern屬性。這個屬性可以讓您在對數字編碼時包含指定的字元。接下來的表格中列出了這些字元。
2、<fmt:formatDate>標簽用於使用不同的方式格式化日期。
語法格式
語法格式
<fmt:formatDate
value="<string>"
type="<string>"
dateStyle="<string>"
timeStyle="<string>"
pattern="<string>"
timeZone="<string>"
var="<string>"
scope="<string>"/>
<fmt:formatDate>標簽有如下屬性:
<fmt:formatDate> 標簽格式模式:
三、JSTL函數
JSTL包含一系列標准函數,大部分是通用的字元串處理函數。引用JSTL函數庫的語法如下:
<%@ taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions" %>
1、fn:contains()函數用於確定一個字元串是否包含指定的子串
<c:if test="${fn:contains(<原始字元串>, <要查找的子字元串>)}">
...</c:if>
Ⅳ 網頁用jsp實現按鈕點擊第一下實現事件一,第二下實現事件二
<html>
<head>
<scriptsrc="/jquery.min.js"></script>
<scripttype="text/javascript">
$(document).ready(function(){
varclickNum=1;
$("button").click(function(){
switch(clickNum){
case1:
alert("事件1");
clickNum=2;
break;
case2:
alert("事件2");
clickNum=1;
break;
}
});
});
</script>
</head>
<body>
<button>按鈕</button>
</body>
</html>
Ⅳ jsp頁面 選擇下拉菜單值選擇對應單選選項
<selectid='score'>
<optionvalue='-1'>請選擇平評分</option>
<optionvalue='1'>1</option>
<optionvalue='2'>2</option>
<optionvalue='3'>3</option>
</select>
<input type='radio' id='light'>輕度 <input type='radio'>.....
<script>
$("#score").change(function(){//select值改變事件
var val = $(this).val();//獲取值
if(val != -1){
switch(val){
case 1: ;
case 2: ;
case 3:
$("#light").prop("checked",true);
break;
case 4:;
......
}
}
});
</script>
Ⅵ jsp中swtich的用法。
將tx定義為枚舉類型
Ⅶ 在JSP中 有一個swith語句,其中的 case '\'': sb.append("'");反斜杠上的引號問題,轉義
其實你問的就是純粹java語法的問題。
switch語句的case後面的值要求是整數,case '\''的含義是使用 ' 號的表示的ASC值,當把char類型的值作為int參數的實參時,使用的不是char,而是其對應的ASC值。
另外,雙引號用於字元串,單引號表示字元(不是位元組)。
Ⅷ 如何在jsp中對Servlet提交的數據進行switch
<c:choose>
<c:when test="${requestScore.ac.af_fx)">
<c:out value="支出"/>
</c:when>
.....
<c:otherwise>
<c:out value="..."/>
</c:otherwise>
</c:choose>
jstl中的<c:choose>標簽對應java的switch,希望可以幫到你