Ⅰ 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,希望可以帮到你